delphi新手求大神解答,image.picture:=nil把图像清空后

procedure TForm1.N6Click(Sender: TObject); //裁剪上边
var
rgn: Hrgn;
Bmp: TBitmap;
str: string;
num: integer;

begin
str:='';
InputQuery('裁剪大小设定','输入数值',str);
if str='' then
begin
ShowMessage('输入值不能为空请重新输入!');
end
else
begin
num:=strtoint(str);

Bmp:= TBitmap.Create;
Bmp.Assign(image1.Picture.Bitmap);
//创建剪切区域
rgn:= CreateRectRgn(0,num,Bmp.Width,Bmp.Height-num);
//选中剪切区域
SelectClipRgn(image1.Canvas.Handle,rgn);
//清空图像

image1.Picture := nil;

//image1.Picture.Bitmap.FreeImage;
BitBlt(image1.Canvas.Handle,0,num,Bmp.Width,Bmp.Height-num,Bmp.Canvas.Handle,0,num,SRCCOPY);
//空白处还不知道怎么处理。。。




Bmp.Free;

end;
把图片剪切,背景的白色如何能适应剪切后的图片大小

1个回答

设定图像大小,将要保留的那部分区域复制成新图像就行了,就不会有空白啦.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐