ImageEn, unit iexBitmaps

TIOParams.RAW_EmbeddedJpegMinWidth

TIOParams.RAW_EmbeddedJpegMinWidth


Declaration

property RAW_EmbeddedJpegMinWidth: Integer;


Description

Guarantees a minimum width of the image if RAW_GetEmbeddedJpeg = true. If the file does not contain an embedded JPEG of this size, the full size raw image will be loaded.
It is also used to speed up loading, by loading a scaled version of the image (e.g. 1/4 or 1/2 size) if RAW_EmbeddedJpegLoading = ierlScaled.

It is also used to load a preview image when using TIEWICReader (if one is available)

Default: 800 (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


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

// Fastest loading of a RAW image at no smaller than 800x600
ImageEnView1.IO.Params.RAW_GetEmbeddedJpeg       := True;
ImageEnView1.IO.Params.RAW_EmbeddedJpegMinWidth  := 800;
ImageEnView1.IO.Params.RAW_EmbeddedJpegMinHeight := 600;
ImageEnView1.IO.Params.RAW_EmbeddedJpegLoading   := ierlScaled;
ImageEnView1.IO.LoadFromFile('C:\CRW_0001.CRW');


See Also

 OptimizeLoadingParams
 RAW_EmbeddedJpegLoading
 RAW_EmbeddedJpegMinHeight