Draw an image with a transparency mask
int PgDrawTImage( void const *ptr, int type, PhPoint_t const *pos, PhDim_t const *size, int bpl, long tag, void const *TransPtr, int TransBPL ); int PgDrawTImagev( void const *ptr, int type, PhPoint_t const *pos, PhDim_t const *size, int bpl, long tag, void const *TransPtr, int TransBPL ); int PgDrawTImageCx( void *dc, void const *ptr, int type, PhPoint_t const *pos, PhDim_t const *size, int bpl, long tag, void const *TransPtr, int TransBPL ); int PgDrawTImageCxv( void *dc, void const *ptr, int type, PhPoint_t const *pos, PhDim_t const *size, int bpl, long tag, void const *TransPtr, int TransBPL );
ph
These functions build a command in the draw buffer to draw an image with a transparency mask. These functions take the same parameters as PgDrawImage*() with two additions, TransPtr and TransBPL.
Instead of using these functions, we recommend using a PhImage_t structure and calling a PgDrawPhImage*() function. These functions automatically handle palettes, transparency, and so on. |
The TransPtr argument points to a bitmap that's TransBPL bytes wide. This defines a bitmap that only allows the image to draw where there's a value of 1 in the bitmap. Any value of 0 in the bitmap prevents the image from drawing. The leftmost pixel corresponds to the top bit of the first byte in the mask.
PgDrawTImage() and PgDrawTImagev() work on the current draw context, while you can specify the draw context dc for PgDrawTImageCx() and PgDrawTImageCxv().
Photon
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | No |
PgDrawImage*(), PgDrawPhImage*(), PgDrawRepPhImage*(), PhDim_t, PhImage_t, PhMakeTransBitmap(), PhMakeTransparent(), PhPoint_t
“Images” in the Raw Drawing and Animation chapter of the Photon Programmer's Guide