gpt4 book ai didi

c# - 调整位图大小后,新位图的结果是平滑的 bitmnap

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:35 25 4
gpt4 key购买 nike

我使用简单的调整大小方法将我的位图更改为新大小。原始位图大小为 320x240,我更改了两次大小

  • 至 250x160
  • 在位图上做一些处理
  • 将其改回 320x240

我发现在将它改回 320x240 后,我发现位图有点平滑,不像我预想的那样。

如何避免出现这种平滑现象?

调整大小方法:

private static Image resizeImage(Image imgToResize, Size size)
{

int sourceWidth = imgToResize.Width;
int sourceHeight = imgToResize.Height;

float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;

nPercentW = ((float)size.Width / (float)sourceWidth);
nPercentH = ((float)size.Height / (float)sourceHeight);

if (nPercentH < nPercentW)
nPercent = nPercentH;
else
nPercent = nPercentW;

int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);

Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;

g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();

return (Image)b;
}

最佳答案

可悲的是你不能。当您将位图调整为较小尺寸时,信息会丢失。并且从小图像(信息较少)中插入信息以创建具有原始尺寸的新尺寸图像。正是这种插值使生成的图像具有平滑的外观。

为避免这种情况,您唯一能做的就是找到一种方法来进行您必须进行的处理,而无需在处理过程中缩小图像大小。

关于c# - 调整位图大小后,新位图的结果是平滑的 bitmnap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645315/

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