P
poo1234
Unregistered / Unconfirmed
GUEST, unregistred user!
我对一个image进行一分为二,把图象保存到另一个image
代码如下:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i,j,h,w:integer;
hdc1,hdc2:hdc;
begin
w:=image1.width;
h:=image1.Height;
image1.Visible:=true;
form1.Repaint;
// paintbox1.Refresh();
// hdc2:=paintbox1.Canvas.Handle; //原本用它处理,但是不懂怎么保存
hdc2:=image2.Canvas.Handle; //image保存原图,image2保存分割的图
hdc1:=image1.Canvas.Handle; //
image2.Width:=h div 2;
image2.Width:=w;
for i:=0 to w do
begin
for j:=0 to 1 do
begin
bitblt(hdc2,0,0,i,h div 4,hdc1,w-i,0,srccopy);
bitblt(hdc2,0,h div 4,i,h div 4,hdc1,w-i,h div 4,srccopy);
end;
end;
end;
问题出现,image2的大小给定死了,图要么显示不完整,要么就是显示图还显示了白色!
怎么回事?
大家有没有更好的分割方法!!
谢谢
代码如下:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i,j,h,w:integer;
hdc1,hdc2:hdc;
begin
w:=image1.width;
h:=image1.Height;
image1.Visible:=true;
form1.Repaint;
// paintbox1.Refresh();
// hdc2:=paintbox1.Canvas.Handle; //原本用它处理,但是不懂怎么保存
hdc2:=image2.Canvas.Handle; //image保存原图,image2保存分割的图
hdc1:=image1.Canvas.Handle; //
image2.Width:=h div 2;
image2.Width:=w;
for i:=0 to w do
begin
for j:=0 to 1 do
begin
bitblt(hdc2,0,0,i,h div 4,hdc1,w-i,0,srccopy);
bitblt(hdc2,0,h div 4,i,h div 4,hdc1,w-i,h div 4,srccopy);
end;
end;
end;
问题出现,image2的大小给定死了,图要么显示不完整,要么就是显示图还显示了白色!
怎么回事?
大家有没有更好的分割方法!!
谢谢