delphi - Delphi 中可以很好地缩放图像吗?

标签 delphi graphics image-scaling timage

我正在使用 Delphi 2009,我想缩放图像以适应可用空间。显示的图像始终小于原始图像。问题是 TImage Stretch 属性效果不佳,并且损害了图片的可读性。

ugly way
(来源:xrw.bc.ca)

我希望看到它像这样缩放:

nicer way
(来源:xrw.bc.ca)

有什么建议可以最好地做到这一点吗?尝试过JVCL,但好像没有这个能力。一个免费的库固然很好,但也许有一个低成本的库“只”做这件事也不错。

最佳答案

真的非常想使用Graphics32 .

procedure DrawSrcToDst(Src, Dst: TBitmap32);
var
  R: TKernelResampler;  
begin
  R := TKernelResampler.Create(Src);
  R.Kernel := TLanczosKernel.Create;
  Dst.Draw(Dst.BoundsRect, Src.BoundsRect, Src);
end;

对图像重新采样时,您有多种方法和过滤器可供选择。上面的示例使用了内核重采样器(有点慢,但结果很好)和 Lanczos过滤器作为重建内核。上面的例子应该适合你。

关于delphi - Delphi 中可以很好地缩放图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976116/

相关文章:

mysql - 如何避免对每个查询重复使用 mysql_real_connect()?

c# - 在 C# 中调整大的奇数比例图像大小

c# - 缩放平面以适应视锥体或网格单元

Java 图像调整大小 - 最近邻

delphi - VirtualTreeview 拖放以排列列表中的节点

android - 如何连接到没有公网IP的电脑?

java - Java 中图像的组合重新缩放和颜色减少?

php - 使用 95% 标签的图像无法正常工作

html - 在 CSS 中提取和缩放图像的一部分

德尔福2007 : How to Set TSAWARE?