Pearl:你说的对于静态添加的图片可以,而且很好,动态添加的,它就把透明区域也搞成那种效果了。
很难看。不知道你还有什么高招吗?我的代码:
ImageList1:=TImageList.Create(self);
ImageList1.Width:=FBitmap.Width;
ImageList1.Height:=FBitmap.Height;
ImageList1.DrawingStyle:=dsTransparent;
ImageList1.Add(FBitmap,nil);
BitmapTemp:=TBitmap.Create;
BitmapTemp.Width:=FBitmap.Width;
BitmapTemp.Height:=FBitmap.Height;
if FIsSelected then
begin
if FCanModify then
begin
with DisplayBitmap.Canvas do
begin
ImageList_Draw(ImageList1.Handle,0,BitmapTemp.Canvas.Handle,0,0,ILD_BLEND25 or ILD_FOCUS or ILD_BLEND50 or ILD_TRANSPARENT);
ImageList1.Destroy;
Font:=FFont;
brush.Color:=clWhite;
FillRect(ClipRect);
StretchDraw(Rect(22,1,Width-22,FImageHeight+1),BitmapTemp);
BitmapTemp.Free;
.........................................................