TIOParams.RAW_GetExifThumbnail
TIOParams.RAW_GetExifThumbnail
Declaration
property RAW_GetExifThumbnail: Boolean;
Description
Enable loading of the embedded thumbnail, rather than the full image. A thumbnail is often available for Raw images (EXIF Thumbnail).
If the file does not contain a thumbnail, the full image will be automatically loaded instead.
Note:
RAW_GetExifThumbnail is also set by
GetThumbnail
| Demos\InputOutput\CameraRaw\CameraRaw.dpr |
| Demos\InputOutput\IEViewPerformance\Performance.dpr |
Raw Loading Speed
ImageEn offers four properties to improve loading speed for RAW images:
◼RAW_GetExifThumbnail
◼RAW_GetEmbeddedJpeg
◼RAW_EmbeddedJpegLoading
◼RAW_HalfSize
Usage
// Load the full size RAW
ImageEnView.IO.Params.RAW_GetExifThumbnail := False;
ImageEnView.IO.Params.RAW_GetEmbeddedJpeg := False;
ImageEnView.IO.Params.RAW_HalfSize := False;
// Load the half size RAW
ImageEnView.IO.Params.RAW_GetExifThumbnail := False;
ImageEnView.IO.Params.RAW_GetEmbeddedJpeg := False;
ImageEnView.IO.Params.RAW_HalfSize := True;
// Load the embedded JPEG (loading a half size raw if there is no embedded JPEG)
ImageEnView.IO.Params.RAW_GetExifThumbnail := False;
ImageEnView.IO.Params.RAW_GetEmbeddedJpeg := True;
ImageEnView.IO.Params.RAW_HalfSize := True;
// Load the thumbnail (will automatically fall back to the embedded JPEG if there is no thumbnail)
ImageEnView.IO.Params.RAW_GetExifThumbnail := True
ImageEnView.IO.Params.RAW_GetEmbeddedJpeg := True;
ImageEnView.IO.Params.RAW_HalfSize := True; // In case there is no EXIF thumbnail or embedded JPEG
Performance Testing
// Testing loading of 100 raw images of various types:
IEGlobalSettings().CameraRawEngine := ieenDLL;
ImageEnView1.IO.Params.RAW_GetExifThumbnail := loadExif;
ImageEnView1.IO.Params.RAW_GetEmbeddedJpeg := loadJpeg or loadExif;
ImageEnView1.IO.Params.RAW_EmbeddedJpegLoading := jpegMethod;
ImageEnView1.IO.Params.RAW_EmbeddedJpegMinWidth := 200;
ImageEnView1.IO.Params.RAW_EmbeddedJpegMinHeight := 200;
ImageEnView1.IO.Params.RAW_HalfSize := loadHalf or loadJpeg or loadExif;
t := GetTickCount;
for i := 0 to ss.Count - 1 do
ImageEnView1.IO.LoadFromFile( ss[i] );
memo1.Lines.Add('Load: ' + FloatToStr( GetTickCount - t / 1000 ));
Load Method | Load Method | Time |
RAW_GetExifThumbnail | loadExif=True | 1.6 ms |
RAW_GetEmbeddedJpeg (Scaled) | loadJpeg=True, jpegMethod=ierScaled | 1.7 ms |
RAW_GetEmbeddedJpeg (WIC) | loadJpeg=True, jpegMethod=ierWIC | 2.1 ms |
RAW_GetEmbeddedJpeg (Default) | loadJpeg=True, jpegMethod=ierDefault | 2.9 ms |
RAW_HalfSize | loadHalf = True | 8.6 ms |
Normal | - | 19.4 ms |
// Load only the thumbnail
ImageEnView1.IO.Params.RAW_GetExifThumbnail := True;
ImageEnView1.IO.LoadFromFile('C:\input.crw');
See Also
◼GetThumbnail
◼OptimizeLoadingParams
◼RAW_EmbeddedJpegLoading