Hi Pierre and Lazarus list, 2010/2/22 Pierre Delore <dpli...@free.fr>: > 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.
I think that you commented code reveals why this is happening. See my untested suggested code changes below. > > Any ideas? > a-------------------------------------------------------------------------------------------------------- > 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 // set colour of the Canvas Brush to white (using the constant "clWhite") Canvas.Brush.Color := clWhite; > //Canvas.FillRect(0,0,pwidth,pheight); // now fill the background of the Canvas with the Canvas.Brush.Color set to colour white Canvas.FillRect(0,0,pwidth,pheight); // note that my changes (above) are proposed, untested to the code which you posted. // my modifications to your code *should* make the background of the Canvas clWhite before you draw Bitmap -- with the next line of code. > Canvas.Draw(0, 0, Bitmap); // hopefully now Bitmap will be drawn on a clWhite background... which is the effect you said in your email you're wanting. > finally > Bitmap.Free; > end; > > inherited Paint; > end; > > > Regards. > > -- > Pierre Delore > > http://datalinkwristapps.free.fr > http://dpsite.free.fr > > -- > _______________________________________________ > Lazarus mailing list > Lazarus@lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > > I hope that these mods to your posted code help. Please note that they are proposed and untested. Note: in my comments I use the British spelling of the word "colour" not American spelling of "color". With LOVE from PEW ;-))) Fond Regards, Peter Eric (aka 'pew') WILLIAMS from Hobart, Tasmania, Australia -- phone (03) 6236-9675 My free website is: http://pewtas.googlepages.com (or) http://tinyurl.com/yuyejs (please visit my free website and let me know what you think about it.) -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus