我有一些使用各向同性映射模式的C++/GDI绘图代码。我有一个包含大量绘图代码的大型对象模型,我正尝试在C#项目中重用这些对象模型,以绘制到内存中的位图。我在正确设置System.Graphics对象以生成相同的图片时遇到问题。有没有办法在System.Graphics对象中设置MM_ISOTROPIC映射模式的等价物?
下面是C++/GDI中准备映射模式的相关代码。
CDC* pDC = ...
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(24, 24);
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX), pDC->GetDeviceCaps(LOGPIXELSY));发布于 2009-02-26 20:09:18
MM_ISOTROPIC没有什么特别之处,它只是确保X和Y缩放是相同的,即使您使用SetViewportExt()和SetWindowExt()赋予它冲突的值。你没有。我不认为有任何硬件没有方形像素。
无论如何,只要确保向Graphics.ScaleTransform()传递相等的值即可。
https://stackoverflow.com/questions/591926
复制相似问题