Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
EXEC dbo.sp_addextendedproc N'xp_getexif', 'xp_getexif'
GO
GRANT EXECUTE ON xp_getexif TO public
GO


exec master..xp_getexif 'c:\Temp\DSCN0158GeoTag.jPg'
GO
--------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------
211 Kb
http://www.lepsik.com/sql/xp_getexif.zip
26 июн 09, 11:13    [7346710]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
0 0 ---------------------------------------
271 Vendor NIKON
272 Model COOLPIX P6000
274 Orientation top - left
306 Date Time 2009:06:26 02:39:05
531 YCBCR_POSITIONING centered
1 1 ---------------------------------------
2 EXIF ---------------------------------------
33434 Exposure time 1/291 sec.
33437 F number f/5.7
34850 Exposure program Normal program
34855 Speed rating 64
36864 Exif version Exif Version 2.2
36867 Date Time Original 25/06/2009-11:01:01
36868 Date Time digitized 2009:06:25 11:37:02
37381 Max aperture value 2.90
37385 Flush Flash did not fire, compulsatory flash mode.
37386 Focal length 6.0 mm
37510 User comment
40960 Flush pix version FlashPix Version 1.0
40961 Color space sRGB
40962 Pixel X domention 4224
40963 Pixel Y domention 3168
41728 File source DSC
41986 Exposure mode Auto exposure
41987 White balance Auto white balance
41988 Digital zoom ratio 0.00
41989 Focal length 28
3 GPS ---------------------------------------
0 VERSION ID 0x02, 0x02, 0x00, 0x00
1 LATITUDE_REF N
2 LATITUDE 43.00, 28.00, 47.29
3 LONGITUDE_REF W
4 LONGITUDE 80.00, 32.00, 28.61
5 ALTITUDE_REF 0x00
4 Interoperability ---------------------------------------
26 июн 09, 11:18    [7346752]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
так красивее


0	0	---------------------------------------
271	Vendor	NIKON
272	Model	COOLPIX P6000
274	Orientation	top - left
306	Date Time	2009:06:26 02:39:05
531	YCBCR_POSITIONING	centered
1	1	---------------------------------------
2	EXIF	---------------------------------------
33434	Exposure time	1/291 sec.
33437	F number	f/5.7
34850	Exposure program	Normal program
34855	Speed rating	64
36864	Exif version	Exif Version 2.2
36867	Date Time Original	25/06/2009-11:01:01
36868	Date Time digitized	2009:06:25 11:37:02
37381	Max aperture value	2.90
37385	Flush	Flash did not fire, compulsatory flash mode.
37386	Focal length	6.0 mm
37510	User comment	                                                                                                                     
40960	Flush pix version	FlashPix Version 1.0
40961	Color space	sRGB
40962	Pixel X domention	4224
40963	Pixel Y domention 	3168
41728	File source	DSC
41986	Exposure mode	Auto exposure
41987	White balance	Auto white balance
41988	Digital zoom ratio	0.00
41989	Focal length	28
3	GPS	---------------------------------------
0	VERSION ID	0x02, 0x02, 0x00, 0x00
1	LATITUDE_REF	N
2	LATITUDE	43.00, 28.00, 47.29
3	LONGITUDE_REF	W
4	LONGITUDE	80.00, 32.00, 28.61
5	ALTITUDE_REF	0x00
4	Interoperability	---------------------------------------
Lepsik,
26 июн 09, 11:19    [7346757]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
(Y)

а что с исходным текстом?
26 июн 09, 11:39    [7346894]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Crimean
Member

Откуда:
Сообщений: 13148
ща ms скажет, что этот функционал "deprecated"
26 июн 09, 12:06    [7347091]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
ща ms скажет, что этот функционал "deprecated"


кстати, да... надо делать sqlclr функцию
26 июн 09, 13:37    [7347833]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Winnipuh
Crimean
ща ms скажет, что этот функционал "deprecated"


кстати, да... надо делать sqlclr функцию


угу. и готовиться к
http://social.msdn.microsoft.com/Forums/en-US/sqlnetfx/thread/b773021c-59bd-4c89-ab40-a4684d2c0c9b

автор
If you are using 32 bit SQL Server on a machine that has 2GB or more RAM, running CLR has limitation in terms of virtual memory. In this configuration, CLR has anywhere between 200 to 300 MB virutal memory to work with (as a matter of fact, this amount of memory is also used for linked server, extended procedure etc). Rest of the 2GB virtual memory is pre-reserved and used by Buffer Pool memory for data cache and procedure cache etc. So the CLR app should minimize using memory as much as possible.


вот это "the CLR app should minimize using memory as much as possible" особенно улыбает
26 июн 09, 15:06    [7348567]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
Winnipuh
(Y)

а что с исходным текстом?


там и так все просто. библиотека с www.exif.org

С SQL2010 работает тоже.

На подходе xp_getIPTC, xp_getXMP

А также конвертация все имаджевых форматов, включая raw в джипег и скейлинг в превью джипег.
26 июн 09, 20:19    [7350335]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
обновил библиотеку exif до последней версии с поддержкой fuji.

приаттачил 64 битную версию

К сообщению приложен файл (xp_getexif64.zip - 81Kb) cкачать
28 июн 09, 08:56    [7351949]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
32 битная версия

К сообщению приложен файл (xp_getexif.zip - 73Kb) cкачать
28 июн 09, 08:56    [7351950]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
а теперь xp_getiptc

USE [master]
GO

EXEC dbo.sp_addextendedproc N'xp_getiptc', 'xp_getiptc'
GO
GRANT EXECUTE ON xp_getiptc TO public
GO


exec master..xp_getiptc 'c:\Temp\iptc.jpg'
GO


80 by line color table
85 by line title bars 2 panels
120 caption IPTC color test
122 caption editor John Petrov
15 category CTG
90 city Waterloo
118 contact
116 copyright Photo Look
101 country Canada
55 creation date 11/09/2005
110 credits Chart
105 headline just a test
130 imagetype
25 keywords mask,face,color,table
135 language id
27 location
5 object name iptc color test
131 orientation 48
65 origin program 0000000000000000
50 origin trans ref Job Identifier
115 photo source www.iptc.org
70 program version
40 special instructions special test
95 state ON
20 subcategory Supplemental Categories,Life
103 transref
10 urgency 2


К сообщению приложен файл (xp_getiptc.zip - 48Kb) cкачать
29 июн 09, 08:29    [7353352]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
надеюсь окончательная версия библиотеки. Теперь эта функция выдает полный список прописанных тэгов с описанием

exec master..xp_getexif 'c:\Temp\DSCN0158GeoTag.JPG'
GO

0	270	ImageDescription	                               	A character string giving the title of the image. It may be a comment such as "1988 company picnic" or the like. Two-bytes character codes cannot be used. When a 2-bytes code is necessary, the Exif Private tag <UserComment> is to be used.
0	271	Make	NIKON	The manufacturer of the recording equipment. This is the manufacturer of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.
0	272	Model	COOLPIX P6000	The model name or model number of the equipment. This is the model name or number of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.
0	274	Orientation	top - left	The image orientation viewed in terms of rows and columns.
0	282	XResolution	300.00	The number of pixels per <ResolutionUnit> in the <ImageWidth> direction. When the image resolution is unknown, 72 [dpi] is designated.
0	283	YResolution	300.00	The number of pixels per <ResolutionUnit> in the <ImageLength> direction. The same value as <XResolution> is designated.
0	296	ResolutionUnit	Inch	The unit for measuring <XResolution> and <YResolution>. The same unit is used for both <XResolution> and <YResolution>. If the image resolution is unknown, 2 (inches) is designated.
0	305	Software	Nikon Transfer 1.1 W	This tag records the name and version of the software or firmware of the camera or image input device used to generate the image. The detailed format is not specified, but it is recommended that the example shown below be followed. When the field is left
0	306	DateTime	2009:06:26 02:39:05	The date and time of image creation. In this standard (EXIF-2.1) it is the date and time the file was changed.
0	531	YCbCrPositioning	centered	The position of chrominance components in relation to the luminance component. This field is designated only for JPEG compressed data or uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr = 4:2:2 it is recommended in this standar
1	259	Compression	JPEG compression	The compression scheme used for the image data. When a primary image is JPEG compressed, this designation is not necessary and is omitted. When thumbnails use JPEG compression, this tag value is set to 6.
1	282	XResolution	72.00	The number of pixels per <ResolutionUnit> in the <ImageWidth> direction. When the image resolution is unknown, 72 [dpi] is designated.
1	283	YResolution	72.00	The number of pixels per <ResolutionUnit> in the <ImageLength> direction. The same value as <XResolution> is designated.
1	296	ResolutionUnit	Inch	The unit for measuring <XResolution> and <YResolution>. The same unit is used for both <XResolution> and <YResolution>. If the image resolution is unknown, 2 (inches) is designated.
2	33434	ExposureTime	1/291 sec.	Exposure time, given in seconds (sec).
2	33437	FNumber	f/5.7	The F number.
----------------------------------------------------------------------

данная функция формирует (на мой взгляд) необходимый набор полей с правильными типами

exec master..xp_readexif 'c:\Temp\DSCN0158GeoTag.JPG'
GO

автор
DSCN0158GeoTag.JPG NULL COOLPIX P6000 Nikon 1 Nikon Transfer 1.1 W 2009-06-26 00:00:00.000 NULL JPEG compression NULL 1/291 sec. f/5.7 Normal program 0 2.2 2009-06-25 00:00:00.000 0 2.9 Pattern 0 Flash did not fire, compulsory 6.0 mm 3312 bytes undefined data sRGB 4224 3168 NULL DSC Auto exposure Auto white balance 0 28 Standard Normal Normal Normal Normal Unknown N 43.00, 28.00, 47.29 W 80.00, 32.00, 28.61 NULL


генерация скрипта для таблицы для верхней функции

declare @sql varchar(4000),  @ExecSql nvarchar(4000)
exec master..xp_sqlexif 1, @sql OUT
set @ExecSql = CAST(@sql as nvarchar(4000))
execute sp_executesql @ExecSql
GO


функция зачитки всех джипегов из папки и вставки в сгенерированную таблицу

insert into exif exec master..xp_loadexif 'c:\temp\'
GO
26 июл 09, 07:32    [7460823]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
приаттачить забыл

К сообщению приложен файл (xp_getexif.zip - 92Kb) cкачать
26 июл 09, 07:33    [7460824]     Ответить | Цитировать Сообщить модератору
 Re: Любителям фотосайтостроения xp_getexif  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
тот же функционал но уже для чтения iptc

К сообщению приложен файл (xp_getiptc.zip - 72Kb) cкачать
28 авг 09, 07:02    [7588883]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить