ImageEn, unit iexBitmaps

TIEBitmap.RenderToTBitmapEx

TIEBitmap.RenderToTBitmapEx


Declaration


procedure RenderToTBitmapEx(Dest: TBitmap; xDst, yDst, dxDst, dyDst: integer; xSrc, ySrc, dxSrc, dySrc: integer; Transparency: integer = 255; Filter: TResampleFilter = rfNone; RenderOperation: TIERenderOperation = ielNormal; Opacity: double = 1.0);


Description


Draws the rectangle xSrc, ySrc, dxSrc, dySrc inside the destination rectangle xDst, yDst, dxDst, dyDst of Dest TBitmap object.
DestPixelFormat must be pf24bit.
Transparency specifies the transparency value (0=Fully Transparent to 255=Fully Opaque).
Filter specifies the resampling filter.
RenderOperation specifies the rendering operation.
Opacity specifies the opacity (0=Fully Transparent to 1.0=Fully Opaque).

Note: Rendering will support the AlphaChannel if available, i.e. painting will not occur for areas of Alpha < 255


Opacity vs Transparency


Both the Opacity and Transparency parameters provide the same functionality. Transparency is the traditional ImageEn value, whereas Opacity provides easier PSD compatibility.
While they can be used in combination, generally only one will be used, i.e. leave Opacity=1 and make use of transparency, or alternatively, leave Transparency=255 and make use of Opacity. For example, for 50% opacity: Transparency = 255 and Opacity = 0.5, or Transparency = 128 and Opacity = 1.0




Example


// Render an image in a TImageEnView to a TBitmap at half-size
bmp.Width := ImageEnView1.IEBitmap.Width div 2;
bmp.Height := ImageEnView1.IEBitmap.Height div 2;
ImageEnView1.IEBitmap.RenderToTIEBitmapEx( bmp,
                                           0, 0, bmp.Width, bmp.Height,
                                           0, 0, ImageEnView1.IEBitmap.Width, ImageEnView1.IEBitmap.Height,
                                           255, rfLanczos3 );


TIEBitmap Assignment and Drawing Methods


TIEBitmap Methods
Method Mode Notes
Assign From TIEBitmap/TBitmap/TGraphic/TIcon Copy whole image
AssignImage From TIEBitmap Like assign, but does not copy the alpha channel
AssignRect From TIEBitmap/TBitmap Copy a specified rect
CopyAndConvertFormat From TIEBitmap Copy whole image
CopyRectTo To TIEBitmap Copy rect to another image (without scaling)
CopyWithMask1 To TIEBitmap Copy image using a mask to specify what is copied from the source
CopyWithMask2 To TIEBitmap Copy image using a mask to specify what is replaced in the destintation
DrawToTIEBitmap To TIEBitmap Copies all or part of the image to a specified position and/or size
RenderToTIEBitmapEx To TIEBitmap Extended drawing of content to a TIEBitmap
StretchRectTo To TIEBitmap Copy rect to dest rect in another image (with scaling)
SwitchTo To TIEBitmap Move content from one TIEBitmap to another


TBitmap Methods
Method Mode Notes
Assign From TIEBitmap/TBitmap/TGraphic/TIcon Copy whole image
AssignRect From TIEBitmap/TBitmap Copy a specified rect
CopyFromTBitmap From TBitmap Copy whole image
CopyToTBitmap To TBitmap Copy whole image
RenderToTBitmapEx To TBitmap Extended drawing of content to a TBitmap


TCanvas Methods
Method Mode Notes
DrawToCanvas To TCanvas Copies whole image to canvas at specified position (ignoring the alpha channel)
DrawToCanvasWithAlpha To TCanvas Copies whole image to canvas at specified position (honoring the alpha channel)
RenderToCanvas To TCanvas Extended drawing of content to a TCanvas (ignoring the alpha channel)
RenderToCanvasWithAlpha To TCanvas Extended drawing of content to a TCanvas (honoring the alpha channel)