gpt4 book ai didi

c# - 使用构造函数或图形缩放位图的结果?

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:34 24 4
gpt4 key购买 nike

以下两个代码示例在生成缩放图像方面是等效的。也就是说,第二个会产生更高质量的缩放图像吗?我正在使用 .NET 4.5。

// The short.
using(Bitmap large = new Bitmap(input, width, height))
{
// Do whatever.
}


// The long.
using(Bitmap large = new Bitmap(width, height))
{
using(Graphics g = Graphics.FromImage(large))
{
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawImage(input, 0, 0, width, height);
}
// Do whatever.
}

最佳答案

两者的区别在于前者使用默认值;

CompositingQuality: Default
SmoothingMode: None
InterpolationMode: Bilinear
PixelOffsetMode: Default

所以,是的,后者肯定会提高图像质量。

简化后,Bitmap 构造函数中的相关代码(剥离了异常处理)类似;

Graphics graphics = Graphics.FromImage((Image) this);
graphics.Clear(Color.Transparent);
graphics.DrawImage(original, 0, 0, width, height);

...这几乎就是您所拥有的,只是您正在调整质量。

关于c# - 使用构造函数或图形缩放位图的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12784935/

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