[Lazarus] Bitmap transparency problem (I don't want transparency)
Howard Page-Clark
hdpc at talktalk.net
Sun Feb 21 22:39:31 CET 2010
On 21/2/10 6:57, Pierre Delore wrote:
> Hi,
>
> I have a transparency problem when I try to display a bitmap stored in
> a TImagList.
> The bitmap I want to display is a green arrow with a white background.
> I want to display it without transparency.
> With the code below the bitmap is displayed but the background is not
> white (it's a copy of a part of the screen). If I uncomment the 2
> lines with the fillrect, the background is set to green.
>
> Any ideas?
>
> >--------------------------------------------------------------------------------------------------------
> procedure TImgList.Paint;
> var
> Bitmap: TBitmap;
> begin
> Bitmap := TBitmap.Create;
> try
> Bitmap.Height := pHeight;
> Bitmap.Width := pWidth;
>
>
> TImgListItem(ListImg.Items[index]).ImgList.GetBitmap(tagv,Bitmap);
> //the image is a green arrow with a white background
>
> Bitmap.Transparent:=False;
> //Canvas.Brush.Color := clGreen; If I uncomment this
> part the background is set to green
> //Canvas.FillRect(0,0,pwidth,pheight);
> Canvas.Draw(0, 0, Bitmap);
> finally
> Bitmap.Free;
> end;
>
> inherited Paint;
> end;
Difficult to be sure based on an uncompilable code snippet. Presumably
TImgList is a TImage (not a TImageList)?
But you carefully create a bitmap and draw it on the component's canvas,
and then draw over it again with a call to inherited Paint.
HTH
Howard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20100221/a08d922d/attachment-0004.html>
More information about the Lazarus
mailing list