0

我有一些使用各向同性映射模式的 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));
4

1 回答 1

0

MM_ISOTROPIC 没有什么特别之处,它只是确保 X 和 Y 缩放是相同的,即使您使用 SetViewportExt() 和 SetWindowExt() 给它的值冲突。你没有。我认为没有任何硬件没有方形像素。

无论如何,只要确保将相等的值传递给 Graphics.ScaleTransform()。

于 2009-02-26T20:09:18.290 回答