我有一些使用各向同性映射模式的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));
答案 0 :(得分:0)
MM_ISOTROPIC没什么特别之处,它只是确保X和Y缩放是相同的,即使你用SetViewportExt()和SetWindowExt()赋予它相互矛盾的值。你没有。我认为没有任何硬件没有方形像素。
Anyhoo,只需确保将相同的值传递给Graphics.ScaleTransform()。