gpt4 book ai didi

c++ - 使用 GDIPlus 调整大小的模糊顶边

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:44 25 4
gpt4 key购买 nike

我正在使用以下代码在 C 中使用 GDI+ 调整位图的大小。我正在获取顶部边缘的灰度值,即使对于该区域应该为白色的图像也是如此。当插值是最近邻时,问题就消失了。但是,我尝试使用 ImageMagick 进行双三次插值,看起来不错。我应该知道的任何限制问题?我的缩放方法是否以某种方式错误?谢谢!

(输入: destSize : 目标 Gdiplus::Size m_pBitmap : 源位图)

Rect destRect(Point(0,0), destSize);
Bitmap *pBitmap24BPP = new Bitmap(destSize.Width, destSize.Height, PixelFormat24bppRGB);
pBitmap24BPP->SetResolution(m_pBitmap->GetHorizontalResolution(), m_pBitmap->GetVerticalResolution());
Graphics *pGraphics = Graphics::FromImage(pBitmap24BPP);
pGraphics->SetInterpolationMode(InterpolationModeHighQualityBilinear);
pGraphics->DrawImage(m_pBitmap, destRect, 0, 0, m_pBitmap->GetWidth(), m_pBitmap->GetHeight() , UnitPixel, NULL);

//cleanup

最佳答案

我也见过类似的事情。我没有时间研究它,但我有一种感觉,这是因为 GDI+ 图像缩放器错误地使用了“超出顶部边缘”的像素值,这将全为零 - 使其变黑。

适当的图像大小调整应该识别您已经到达图像的边缘,并适本地处理它。

关于c++ - 使用 GDIPlus 调整大小的模糊顶边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2026635/

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