gpt4 book ai didi

image - 如何调整图片大小?

转载 作者:行者123 更新时间:2023-12-03 14:36:11 26 4
gpt4 key购买 nike

我有图像 (500x500),但我需要将其大小调整为 200x200 并将其绘制在 TImage 上。如何达到这样的效果?

注意
我知道 TImage 中的 Stretch 属性,但我想以编程方式调整图像大小。

最佳答案

如果您知道新尺寸不大于原始尺寸,您可以简单地执行以下操作

procedure ShrinkBitmap(Bitmap: TBitmap; const NewWidth, NewHeight: integer);
begin
Bitmap.Canvas.StretchDraw(
Rect(0, 0, NewWidth, NewHeight),
Bitmap);
Bitmap.SetSize(NewWidth, NewHeight);
end;

如果您知道新尺寸不小于原始尺寸,我将其作为编写相应代码的练习。

如果你想要一个通用的功能,你可以这样做

procedure ResizeBitmap(Bitmap: TBitmap; const NewWidth, NewHeight: integer);
var
buffer: TBitmap;
begin
buffer := TBitmap.Create;
try
buffer.SetSize(NewWidth, NewHeight);
buffer.Canvas.StretchDraw(Rect(0, 0, NewWidth, NewHeight), Bitmap);
Bitmap.SetSize(NewWidth, NewHeight);
Bitmap.Canvas.Draw(0, 0, buffer);
finally
buffer.Free;
end;
end;

这种方法的缺点是需要执行两次像素复制操作。我至少可以想到两个解决该问题的方法。 (哪个?)

关于image - 如何调整图片大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com