没看懂你的公式 前景背景是什么东西啊?不过也无所谓,如果你一个点一个点画成功的话 有个方法可以极大地提高效率 那就是用ScanLinevar p3:pbyteArray; begin with Bitmap do for j:=0 to Height-1 do begin P:=ScanLine[j]; for i:=0 to width-1 do begin p[i* 3]:= //兰 P[i* 3 + 1]:= //绿 P[i* 3 + 2]:= //红 end; end; end;你可以试一下
前景背景是什么东西啊?不过也无所谓,如果你一个点一个点画成功的话
有个方法可以极大地提高效率
那就是用ScanLinevar
p3:pbyteArray;
begin
with Bitmap do
for j:=0 to Height-1 do
begin
P:=ScanLine[j];
for i:=0 to width-1 do
begin
p[i* 3]:= //兰
P[i* 3 + 1]:= //绿
P[i* 3 + 2]:= //红
end;
end;
end;你可以试一下
解释一下公式
前景r、前景g、前景b分别是前面那张图片的三原色的16位值,由图片的每个像素TColor值求得,背景就是后面那张图片。