当前位置:  开发笔记 > 编程语言 > 正文

使用抗锯齿功能在.Net中调整图像大小

如何解决《使用抗锯齿功能在.Net中调整图像大小》经验,为你挑选了1个好方法。

我有一些C#代码调整了我认为非常典型的图像大小:

Bitmap bmp = new Bitmap(image, new Size(width, height));
Graphics graphics = Graphics.FromImage(bmp);
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.DrawImage(bmp, width, height);

问题是结果图像明显有别名,并且对InterpolationMode和SmoothingMode属性的更改似乎没有区别.

有什么指针吗?



1> Nick Higgs..:

它变成了代码错误.它实际上是在Bitmap构造函数中没有插值的情况下调整图像大小,然后尝试将该版本平滑地调整到它已经存在的大小.这是修改后的代码:

Bitmap bmp = new Bitmap(width, height);
Graphics graph = Graphics.FromImage(bmp);
graph.InterpolationMode = InterpolationMode.High;
graph.CompositingQuality = CompositingQuality.HighQuality;
graph.SmoothingMode = SmoothingMode.AntiAlias;
graph.DrawImage(image, new Rectangle(0, 0, width, height));

就抗锯齿而言,最重要的参数是graph.InterpolationMode.

谢谢.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有