|
||
class TGopAlphaBlendTwoBitmaps : public TGraphicsOperation;
An accelerated graphics operation that copies a rectangular region of two bitmaps to a destination, using alpha blending values provided in a third bitmap to blend the corresponding entries in the first and second bitmaps.
The way alpha blending works is as follows: if the alpha value is the maximum, the pixel from the first source is opaque, in other words, the full colour of the pixel is written to the destination. If the alpha value is zero, the pixel from the first source is fully transparent, in other words, the full colour of the pixel in the second source is used. Values in-between cause blending with the following formula:
Destination = Source1*Alpha/max_Alpha + Source2*(max_Alpha-Alpha)/max_Alpha
Colour alpha bitmaps specify red, green and blue alpha values for each pixel, greyscale bitmaps specify a single alpha value for each pixel. The maximum alpha value depends on the bitmap's display mode. For example, 255 is the maximum for an EGray256 or EColor16M bitmap. The maximum is less for bitmaps which use fewer bits per colour component.
Supported bitmap formats than can be used as alpha bitmaps are given in TGraphicsAcceleratorCaps::iAlphaBitmap
.
Objects of this class can be passed to a graphics accelerator's Operation() function either individually, or in a buffer.
TGraphicsOperation
- Abstract base class for all graphics operations.
TGopAlphaBlendTwoBitmaps
- An accelerated graphics operation that copies a rectangular region of two bitmap...
Defined in TGopAlphaBlendTwoBitmaps
:
TGopAlphaBlendTwoBitmaps(const TPoint &,TAcceleratedBitmapSpec,TAcceleratedBitmapSpec,TRect &,const TPoint &,TAcceleratedBitmapSpec,const
TPoint &)
Constructor with a position, three bitmap specs and a rectangle. iAlphaBmp
A handle to the alpha bitmap, the bitmap that contains alpha blending values. iAlphaPt
The point in the alpha bitmap from which we take pixels to blend. iDestination
The destination for the top left hand corner of the portion of the source bitmap...iSourceBmp1
A handle to the first source bitmap, and other information needed to access it. iSourceBmp2
A handle to the second source bitmap, and other information needed to access it....iSourceRect
A rectangle defining the part of the source bitmaps to be copied. iSrcPt2
The point in the second source bitmap from which we take pixels to blend. Inherited from TGraphicsOperation
:
Append(TInt,TAny *)
EAlphaBlendOneBitmap
EAlphaBlendTwoBitmaps
EBitBlt
EBitBltAlphaBitmap
EBitBltAlphaChannel
EBitBltMasked
EBitBltTransparent
EChunkTest
EFadeRect
EFilledPolygon
EFilledPolygonWithPattern
EFilledRect
EFilledRectUsingDrawMode
EFilledRectWithPattern
EInvertRect
EScaledBitBlt
EScaledBitBltAlphaBitmap
EScaledBitBltAlphaChannel
EScaledBitBltMasked
EScaledBitBltTransparent
EVirtualAddressTest
Function()const
Next()const
Size()const
TGopFunction
TGraphicsOperation(TGopFunction,TInt)
iFunction
iSize
TGraphicsAcceleratorCaps::iAlphaBitmap
Specifies the supported alpha bitmap types. Uses a bit flag for each TAlphaBitma...TGopAlphaBlendTwoBitmaps(const TPoint &,TAcceleratedBitmapSpec,TAcceleratedBitmapSpec,TRect &,const TPoint &,TAcceleratedBitmapSpec,const
TPoint &)
inline TGopAlphaBlendTwoBitmaps(const TPoint &aDestination, TAcceleratedBitmapSpec aSourceBmp1, TAcceleratedBitmapSpec aSourceBmp2,
TRect &aSourceRect, const TPoint &aSrcPt2, TAcceleratedBitmapSpec aAlphaBmp, const TPoint &aAlphaPt);
Constructor with a position, three bitmap specs and a rectangle.
|
TPoint iDestination;
The destination for the top left hand corner of the portion of the source bitmaps.
TAcceleratedBitmapSpec iSourceBmp1;
A handle to the first source bitmap, and other information needed to access it.
TAcceleratedBitmapSpec iSourceBmp2;
A handle to the second source bitmap, and other information needed to access it.
TPoint iSrcPt2;
The point in the second source bitmap from which we take pixels to blend.
TAcceleratedBitmapSpec iAlphaBmp;
A handle to the alpha bitmap, the bitmap that contains alpha blending values.
TPoint iAlphaPt;
The point in the alpha bitmap from which we take pixels to blend.