delphi 处理图片(剪切,压缩)

本文介绍了如何在Delphi中处理图片,包括剪切BMP图像以适应指定矩形大小,即使图片小于矩形也会放大。同时讨论了缩小JPEG图片的方法,确保图片按比例缩放至矩形大小。在VCL中这些操作相对直接,但在FMX中需要额外引用文件并使用特定函数,如FMX.Graphics中的图像处理功能。
摘要由CSDN通过智能技术生成

剪切bmp:效果为指定的rect大小,若图片比rect小,则会放大。

都要uses Vcl.Imaging.jpeg;

需要注意的是FMX里也需要jpeg的支持,虽然没引用编译器不会报错,但用到jpg时会报内存错误。

procedure TForm1.Button1Click(Sender: TObject);
var
	Bitmap: TBitmap;
	MyRect1, MyOther: TRect;
begin
	if self.OpenDialog1.Execute then
	begin
		MyRect1 := Rect(100, 100, 500, 500);
		MyOther := Rect(100, 100, 500, 500);
		Bitmap := TBitmap.Create;
		Bitmap.LoadFromFile(self.OpenDialog1.FileName); // bmp图片    也可以把jpg图片转换成bmp图片
		self.Canvas.CopyRect(MyOther, Bitmap.Canvas, MyRect1); // 显示在窗体上   这个在VCL上可以,在FMX里没有这个属性
		Bitmap.Free;
	end;
end;

 缩小jpg图片,效果: 图片为rect大小,若图片大于rect,则会按比例缩小成rect大小。

procedure TForm1.But
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值