Png GdiPlus::DrawImage在我使用GIMP编辑图像后拉伸图像?

Png GdiPlus::DrawImage在我使用GIMP编辑图像后拉伸图像?,png,gdi+,gimp,Png,Gdi+,Gimp,我使用以下代码在设备上下文中绘制png: auto_ptr<Gdiplus::Graphics> g(Gdiplus::Graphics::FromHDC(pDC->GetSafeHdc())); g->DrawImage(pPng, xDest, yDest, xSrc, ySrc, nSrcWidth, pSrcHeight, Gdiplus::UnitPixel); auto_ptr g(Gdiplus::Graphics::FromHDC(pDC->GetSaf

我使用以下代码在设备上下文中绘制png:

auto_ptr<Gdiplus::Graphics> g(Gdiplus::Graphics::FromHDC(pDC->GetSafeHdc()));
g->DrawImage(pPng, xDest, yDest, xSrc, ySrc, nSrcWidth, pSrcHeight, Gdiplus::UnitPixel);
auto_ptr g(Gdiplus::Graphics::FromHDC(pDC->GetSafeHdc());
g->DrawImage(pPng、xDest、yDest、xSrc、ySrc、nSrcWidth、pSrcHeight、Gdiplus::UnitPixel);
这将按预期方式粘贴png。我用GIMP编辑png。我的函数现在绘制拉伸的png。我用mspaint对其进行了完全相同的修改。png绘制得很好


这是如何发生的?

您可以将示例图像上传到某个地方吗?请检查从GIMP保存时是否未更改DPI。一般来说,您应该在代码中说明这一点,以便根据设备上下文的DPI进行“计数器缩放”。例如,屏幕和打印设备上下文之间会有差异,在打印机上的图像会变得很小。我忘记了这个问题。问题在于新闻部,它被GIMP设定为其他的东西。我通过使用指定目标宽度和高度的GDIPlus函数修复了这个问题。