调整图像大小而不会损失任何质量

时间:2020-03-05 19:00:04  来源:igfitidea点击:

我需要调整图像大小,但是图像质量不会受到此影响。

解决方案

回答

除非我们要进行矢量图形处理,否则就无法在不损失某些图像质量的情况下调整图像的大小。

回答

正如rcar所说,我们不能不失去某些品质,而这是我们在cis中可以做到的最好:

Bitmap newImage = new Bitmap(newWidth, newHeight);
using (Graphics gr = Graphics.FromImage(newImage))
{
    gr.SmoothingMode = SmoothingMode.HighQuality;
    gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
    gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
    gr.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight));
}

回答

我们仅在减少像素数的情况下就无法调整图像的大小而不会降低质量。

不要减小客户端的大小,因为浏览器在调整图像大小方面做得不好。

我们可以做的是在渲染或者用户上载之前以编程方式更改大小。

这是一篇文章,解释了在C#中执行此操作的一种方法:
http://www.codeproject.com/KB/GDI-plus/imageresize.aspx

回答

除非调整大小,否则无法使用光栅图形执行此操作。

使用良好的过滤和平滑功能,我们可以在不损失任何明显质量的情况下调整大小。

我们还可以更改图像的DPI元数据(假设它有一些),以保持完全相同的像素数,但会更改图像编辑者在"实际"测量中的想法。

只是为了覆盖所有基础,如果我们实际上仅表示图像的文件大小而不是实际的图像大小,那么建议我们查看图像数据的无损编码。我的建议是将图像重新保存为.png文件(我倾向于使用paint作为Windows中图像的免费转码器。将图像加载到paint中,另​​存为新格式)

回答

有一些东西,可以根据上下文调整大小,不知道我们是否可以使用它,但是值得一看,这是肯定的

一个不错的视频演示(放大出现在中间)
http://www.youtube.com/watch?v=vIFCV2spKtg

这里可能有一些代码。
http://www.semanticmetadata.net/2007/08/30/content-aware-image-resizing-gpl-implementation/

那是过度杀伤力吗?也许有一些简单的滤镜可以应用于放大的图像,使像素稍微有些模糊,我们可以查看一下。

回答

我们要调整大小,还是缩小?是较小的百分比还是较大的系数(例如2倍,3倍)?应用程序质量是什么意思?什么样的图像照片,硬边线图或者什么?编写自己的低级像素研磨代码还是尝试使用现有库(.net或者其他任何形式)来尽可能地做到这一点?

有关此主题的知识很多。关键概念是插值。

浏览建议:

  • http://www.all-in-one.ee/~dersch/interpolator/interpolator.html
  • http://www.cambridgeincolour.com/tutorials/image-interpolation.htm
    *适用于C#:https://secure.codeproject.com/KB/GDI-plus/imageprocessing4.aspx?display = PrintAll&fid = 3657&df = 90&mpp = 25&noise = 3&sort = Position&view = Quick&fr = 26&select = 629945
    *这是特定于Java的,但可能具有教育意义http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html

回答

这是一个提供Cimage大小调整代码示例的论坛线程。我们可以使用GD库联编程序之一在C#中进行重采样。

回答

查看我们是否喜欢此开源ASP.NET模块的图像调整大小质量。有一个现场演示,因此我们可以自己弄弄它。它产生的结果(对我而言)是无法与Photoshop输出区分开的。它还具有相似的文件大小,MS在其JPEG编码器上做得很好。

回答

我相信我们要执行的操作是"调整大小/重新采样"图像。这是一个提供指导并提供实用程序类的好站点(我也碰巧使用过):

http://www.codeproject.com/KB/GDI-plus/imgresizoutperfgdiplus.aspx