有一个24位真彩色图像的例子,
procedure button1click(sender:tobject)
var
bmp:TBitmap;
i,j:integer;
linebytearray;
begin
bmp:=image1.picture.bitmap;
bmp.pixelformat:=pf24bit; //24bit bitmap;
bmp.height:=256;
bmp.width:=256;
for i:=0 to bmp.height-1 do
begin
line:=pbytearray(bmp.scanline); //取出图像每行的颜色数组(指针)
for j:=0 to bmp.height-1 do
begin
line[j*3]:=j; //代表rgb三原色中的r(红色)
line[j*3+1]:=i*j mod 255;//代表rgb三原色中的g(绿色)
line[j*3+2]:=i;//代表rgb三原色中的b(蓝色)
end;
image1.invalidate;//刷新
end;
end;
生成的图形很漂亮的,呵呵,利用这个方法还可以做出像电影一样的图像渐隐效果。