gpt4 book ai didi

delphi - 在 Delphi 中使用 StretchDraw 方法拉伸(stretch)位图

转载 作者:行者123 更新时间:2023-12-02 02:38:08 24 4
gpt4 key购买 nike

我有一个尺寸为(宽度= 250,高度= 200)的位图图像。我用以下代码片段对其进行拉伸(stretch),但质量下降了。有没有办法在拉伸(stretch)位图图像的同时保持其质量?

with Bitmap do
begin
Width := 200;
Height := 150;
PixelFormat := pf1bit;
TransparentMode := tmAuto;
Canvas.CopyMode := cmSrcCopy;
Canvas.FillRect(Rect(0, 0, Width, Height));
Canvas.StretchDraw(Rect(0, 0, Width, Height), MyBitMap);
end;

这里,MyBitMap 的类型为 TBitMap,我已在其中加载了原始位图图像。

而且,这是正确的做法吗?

最佳答案

Here是一个非常好的过程,称为 SmoothResize(abmp:TBitmap; NuWidth,NuHeight:integer);。它能够很好地调整 TBitmap 的宽度。不要忘记添加两个类型声明。

StretchDraw方法非常快,并且是canvas的一部分。质量正如你所描述的那样,不是很出色。如果您想使用 StretchDraw,请将 PixelFormat 更改为 pf24bit 并删除 FillRect 线。

希望这有帮助:)

关于delphi - 在 Delphi 中使用 StretchDraw 方法拉伸(stretch)位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23949373/

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