【问题标题】:Resize PNG in a ASP.Net App在 ASP.Net 应用程序中调整 PNG 大小
【发布时间】:2010-12-12 23:41:24
【问题描述】:

我正在为我的 Asp.net 应用程序生成一些 PNG 图表。使用 PNG,我在网站上达到了我需要的质量,但我还需要生成一份报告,因为我必须将图表的大小从 897x651 调整为 216x161。我怎样才能做到这一点,而不会失去太多的质量。我试过了:

我对这两种方式都不太满意。请问有人可以帮我吗?使用 PNGout,您可以在不损失质量的情况下将 bmp 转换为 png。但是你不能调整大小

【问题讨论】:

标签: c# asp.net png bitmap


【解决方案1】:

实际上,我在使用 System.Drawing 类调整大小时遇到​​了同样的问题。

Graphics 类(这也用于您发布的链接http://www.peterprovost.org/blog/post/Resize-Image-in-C.aspx)有一个属性 SmoothingMode 和 InterpolationMode。我将它们设置为:

var graphics = Graphics.CreateFromImage( ... );
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.InterpolationMode = InterpolationMode.High;

这大大提高了质量(尽管会降低大图像的性能),但到目前为止我只尝试使用 JPG。

说实话,我很快将 System.Drawing 转储到了我的 ASP.NET 应用程序中,并使用 imagemagick (http://www.imagemagick.org/) 来处理图形。

【讨论】:

    【解决方案2】:

    不损失质量的绝对最佳方法(如果您正在生成原始图像)是再次从头开始生成图像,但尺寸更小。

    否则,.NET 中内置的图像缩放功能对于 PNG 图像来说已经足够了。 - 请参阅上面 Marek 评论中的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2022-01-03
      • 2012-10-04
      • 2016-12-31
      • 2022-10-08
      • 1970-01-01
      相关资源
      最近更新 更多