如何在Image 中由深到浅显示一种颜色?(100分)

  • 主题发起人 主题发起人 encounter
  • 开始时间 开始时间
E

encounter

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在Image 中由深到浅显示一种颜色?
 
最笨的办法,从深到浅的画线

var
Y,iBlue: Integer;
begin
iBlue:=30;
for Y:=0 to Image1.Height do
begin
Image1.Canvas.Pen.Color:=RGB(0,0,iBlue);
Inc(iBlue);
Image1.Canvas.MoveTo(0,Y);
Image1.Canvas.LineTo(Image1.Width,Y);
end;
end;
 
以下是窗口渐变,原理一样:
procedure TForm1.FormPaint(Sender: TObject);
var I:word;
dy,y:real;
begin
dy:=clientheight/256;
y:=0;
for I:=255 downto 0 do
begin
canvas.brush.color:=$00000000+I*$10000;
canvas.fillrect(rect(0,round(y),clientwidth,round(y+dy)));
y:=y+dy;
end;
end;

 
用窗口渐变色的原理作
 
咳!来晚了,这种效果都是用循环做的!
 
后退
顶部