我在timagelist中放了几个图片,现在想把他们分别取出来,但是要求取出的图片背景色发生改变,而且改变的颜色有可能不相同,请问怎么实现。
解决方案 »
- Qreport不用临时表如何空白补行
- 为什么动态创建的控件删除后还显示?
- 托盘问题大家帮忙看看,有托盘图表,但是点击没有反应!
- 这条问题有一定难度,请大虾们进来看看!!!
- XP+D5,ADO连不上数据库?
- 为什么在winxp中有很多的api 函数不能用????
- 请教,怎样使在WINDOWS2000下做的程序在98下显示效果变化不大。
- 请问小新,以及其它delphi高手一个简单问题,我从网上下载了一个报表控件,请问该如何使用?
- 不借助CRecordSet如何实现数据库的访问?
- 注册表问题,相信很多人对这个技术问题很感兴趣!
- 请问一条SQL语句的写法,谢谢!!
- activeform(网页)上可以声明全局变量吗?如何取得数据表中某一列的最大值?谢谢!
第一次从tiamgelist中取出一张图片可以通过设置bkcolor改变其背景色,但是第二次取这张图片,再设置另外不同的背景色时背景不会改变,请问哪位知道原因?
Img.Height := 16;
Img.Canvas.Brush.Color := clBtnFace; // change;
Img.Canvas.FillRect(Rect(0, 0, 16, 16));
Imagelist1.GetBitmap(0, Img);
程序1:(无法改变背景颜色)
procedure TForm1.Button1Click(Sender: TObject);
var
img:TBitmap;
begin
img:=TBitmap.Create;
Img.Width := 16;
Img.Height := 16; Img.Canvas.Brush.Color := clGreen ; // change;
Img.Canvas.FillRect(Rect(0, 0, 16, 16));
Imagelist1.GetBitmap(0, Img);
Image1.Canvas.Brush.Bitmap:=img;
Image1.Canvas.FillRect(Rect(10,10,100,100)); Img.Canvas.Brush.Color := clRed ; // change;
Img.Canvas.FillRect(Rect(0, 0, 16, 16));
Imagelist1.GetBitmap(0, Img);
Image1.Canvas.Brush.Bitmap:=img;
Image1.Canvas.FillRect(Rect(10,120,100,220));
img.Free;
end;
程序2:(同样无法改变背景颜色)
procedure TForm1.Button1Click(Sender: TObject);
var
img:TBitmap;
begin
img:=TBitmap.Create;
Img.Width := 16;
Img.Height := 16; imagelist1.BkColor:=clgreen;
imagelist1.GetBitmap(0,img) ;
image1.Canvas.Brush.Bitmap:=img;
Image1.Canvas.FillRect(Rect(10,10,100,100)); imagelist1.BkColor:=clred;
imagelist1.GetBitmap(0,img) ;
image1.Canvas.Brush.Bitmap:=img;
Image1.Canvas.FillRect(Rect(10,120,100,220));end;
Image1.Canvas.Brush.Bitmap := img;