Latest News ...

THBImage SDK Online Documentation
Here you can view the THBImage 5.0 do...
THBImage SDK Framework Hierarchy Chart
The documentation now contains a bett...
New website
I...
THBImage SDK v5.0.5.6 Vector symbols, Curve drawing
This update improves THBVector and TH...
THBImage SDK v5.0.5.5 Worlddata
THBViewProject now reads more propert...
THBImage SDK v5.0.5.4 Geometry drawing
DirectX renderer performance improved...
THBImage SDK v5.0.5.2 - SVG DirectX TWAIN geometry
New SVG vector fileformat support....
THBImage SDK v5.0.5.1 DirectX IPP DXF
THBAdvancedImgProc upgraded to Intel ...
OpenStreetMap (OSM) demo zoom levels
OpenStreetMap (OSM) is a collaborativ...
THBImage Viewer Application - Geometry and Picture Viewer
THBImage Viewer is a small and fast r...
Download THBImage image and vector viewing and processing SDK
Download THBImage image and vector viewing and processing SDK

THBImage Viewer is a small and fast raster picture and vector data viewer.
THBImage Viewer is a small and fast raster picture and vector data viewer.

EXIF

EXIF stands for Exchangeable Image File Format, and is a standard for storing interchange information in image files, especially those using JPEG compression.
Most digital cameras now use the EXIF format. The format is part of the DCF standard created by JEIDA to encourage interoperability between imaging devices.

This does not mean that there are files out there with an extension like ‘exif’ or ‘exf’. Digital cameras write EXIF information into jpeg files.

When we talk about EXIF information then we mean various image and camera attributes and in many cases a small thumbnail picture. Some example attributes:

IPTC

The International Press Telecommunications Council, based in Windsor, United Kingdom, is a consortium of the world’s major news agencies and news industry vendors. It develops and maintains technical standards for improved news exchange that are used by virtually every major news organization in the world.

The IPTC was established in 1965 by a group of news organisations including the Alliance EuropĂ©enne des Agences de Presse, ANPA (now NAA), FIEJ (now WAN) and the North American News Agencies (a joint committee of Associated Press, Canadian Press and United Press International) to safeguard the telecommunications interests of the world’s press.

In particular, the IPTC defined a set of metadata attributes that can be applied to images. You can embed the metadata into digital image files in the same way as EXIF data - known as "IPTC headers". IPTC Headers can be embedded into JPEG/EXIF or TIFF formatted image files.

EXIF and THBImage

There are two ways to access EXIF data using THB objects. The simple one is to use the THBImageEdit.Exif functions. They will return a list of EXIF data without providing a way to edit, add, delete entries and without any IPTC data. The advantage is that you don’t need the separate THBExi.dll.

If image tag data like EXIF and IPTC is an essential part of your application you should use the THBExif object.
Here we just describe THBExif functions and behavior.

You can use Exif and IPTC tags to attach additional infos to the image file.

You can use THBExif to read, edit or delete entries and write the modified tagset back to the original file, or into a new file.

When querying data you will get 5 columns per entry.
Tagname, TagID, Datatype, Datalength, Content
You can display or further process the extracted values.
Image.Make 271 Ascii 6 Canon

To get a list of all available datatypes refer to thbExifType.

There are many tags, a huge list defined by the EXIF standard and a huge amount of vendor specific tag sets.
You can refer to the EXIF specification at
http://www.exif.org

Here comes an example of what you will get.
</div>

	Image.Make		271		Ascii		6		Canon\r\n	Image.Model		272		Ascii		20		Canon DIGITAL IXUS\r\n	Image.Orientation		274		Short		1		1\r\n	Image.XResolution		282		Rational		1		180/1\r\n	Image.YResolution		283		Rational		1		180/1\r\n	Image.ResolutionUnit		296		Short		1		2\r\n	Image.DateTime		306		Ascii		20		2001:06:09 15:17:32\r\n	Image.YCbCrPositioning		531		Short		1		1\r\n	Image.ExifTag		34665		Long		1		184\r\n	Photo.ExposureTime		33434		Rational		1		1/350\r\n	Photo.FNumber		33437		Rational		1		40/10\r\n	Photo.ExifVersion		36864		Undefined		4		48 50 49 48 \r\n	Photo.DateTimeOriginal		36867		Ascii		20		2001:06:09 15:17:32\r\n	Photo.DateTimeDigitized		36868		Ascii		20		2001:06:09 15:17:32\r\n	Photo.ComponentsConfiguration		37121		Undefined		4		1 2 3 0 \r\n	Photo.CompressedBitsPerPixel		37122		Rational		1		3/1\r\n	Photo.ShutterSpeedValue		37377		SRational		1		553859/65536\r\n	Photo.ApertureValue		37378		Rational		1		262144/65536\r\n	Photo.ExposureBiasValue		37380		SRational		1		0/3\r\n	Photo.MaxApertureValue		37381		Rational		1		194698/65536\r\n	Photo.SubjectDistance		37382		Rational		1		3750/1000\r\n	Photo.MeteringMode		37383		Short		1		2\r\n	Photo.Flash		37385		Short		1		0\r\n	Photo.FocalLength		37386		Rational		1		346/32\r\n	Photo.UserComment		37510		Undefined		136		0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n	Photo.FlashpixVersion		40960		Undefined		4		48 49 48 48 \r\n	Photo.ColorSpace		40961		Short		1		1\r\n	Photo.PixelXDimension		40962		Short		1		640\r\n	Photo.PixelYDimension		40963		Short		1		480\r\n	Photo.InteroperabilityTag		40965		Long		1		1088\r\n	Photo.FocalPlaneXResolution		41486		Rational		1		640000/206\r\n	Photo.FocalPlaneYResolution		41487		Rational		1		480000/155\r\n	Photo.FocalPlaneResolutionUnit		41488		Short		1		2\r\n	Photo.SensingMethod		41495		Short		1		2\r\n	Photo.FileSource		41728		Undefined		1		3 \r\n	Canon.0x0002		2		Short		4		2 346 211 158\r\n	Canon.0x0003		3		Short		4		0 0 0 0\r\n	Canon.0x0000		0		Short		6		0 0 0 0 0 0\r\n	Canon.ImageType		6		Ascii		32		IMG:JPEG file\r\n	Canon.FirmwareVersion		7		Ascii		24		Firmware Version 1.0\r\n	Canon.ImageNumber		8		Long		1		1010163\r\n	Canon.OwnerName		9		Ascii		32		Peter Corrington\r\n	Canon.0x0010		16		Long		1		100925440\r\n	CanonCs1.Macro		1		Short		1		2\r\n	CanonCs1.Selftimer		2		Short		1		0\r\n	CanonCs1.Quality		3		Short		1		3\r\n	CanonCs1.FlashMode		4		Short		1		1\r\n	CanonCs1.DriveMode		5		Short		1		0\r\n	CanonCs1.0x0006		6		Short		1		0\r\n	CanonCs1.FocusMode		7		Short		1		1\r\n	CanonCs1.0x0008		8		Short		1		0\r\n	CanonCs1.0x0009		9		Short		1		1\r\n	CanonCs1.ImageSize		10		Short		1		2\r\n	CanonCs1.EasyMode		11		Short		1		1\r\n	CanonCs1.DigitalZoom		12		Short		1		0\r\n	CanonCs1.Contrast		13		Short		1		0\r\n	CanonCs1.Saturation		14		Short		1		0\r\n	CanonCs1.Sharpness		15		Short		1		0\r\n	CanonCs1.ISOSpeed		16		Short		1		0\r\n	CanonCs1.MeteringMode		17		Short		1		0\r\n	CanonCs1.FocusType		18		Short		1		1\r\n	CanonCs2.0x0001		1		Short		1		0\r\n	CanonCs2.ISOSpeed		2		Short		1		140\r\n	CanonCs2.0x0003		3		Short		1		258\r\n	CanonCs2.TargetAperture		4		Short		1		128\r\n	CanonCs2.TargetShutterSpeed		5		Short		1		270\r\n	CanonCs2.0x0006		6		Short		1		0\r\n	CanonCs2.WhiteBalance		7		Short		1		0\r\n	CanonCs2.0x0008		8		Short		1		0\r\n	CanonCs2.Sequence		9		Short		1		1\r\n	CanonCs2.0x000a		10		Short		1		4\r\n	CanonCs2.0x000b		11		Short		1		0\r\n	CanonCs2.0x000c		12		Short		1		0\r\n	CanonCs2.0x000d		13		Short		1		0\r\n	CanonCs2.AFPointUsed		14		Short		1		12290\r\n	Iop.InteroperabilityIndex		1		Ascii		4		R98\r\n	Iop.InteroperabilityVersion		2		Undefined		4		48 49 48 48 \r\n	Iop.RelatedImageWidth		4097		Short		1		640\r\n	Iop.RelatedImageLength		4098		Short		1		480\r\n	Thumbnail.Compression		259		Short		1		6\r\n	Thumbnail.XResolution		282		Rational		1		180/1\r\n	Thumbnail.YResolution		283		Rational		1		180/1\r\n	Thumbnail.ResolutionUnit		296		Short		1		2\r\n	Thumbnail.JPEGInterchangeFormat		513		Long		1		0\r\n	Thumbnail.JPEGInterchangeFormatLength		514		Long		1		5342\r\n