ImageEn, unit iexBitmaps

TIOParams.RAW_HalfSize

TIOParams.RAW_HalfSize


Declaration

property RAW_HalfSize: Boolean;


Description

Set to True before loading to retrieve only a half-size image of a Raw image. This will speed up loading.

Default: False (Specified by IOParamDefaults)


Demos

Demo  Demos\InputOutput\CameraRaw\CameraRaw.dpr
Demo  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


Example

ImageEnView1.IO.Params.RAW_HalfSize := True;
ImageEnView1.IO.LoadFromFile('C:\CRW_0001.CRW');


See Also

OptimizeLoadingParams
RAW_EmbeddedJpegLoading