2009-02-26 4 views
0

J'ai un code de dessin C++/GDI qui utilise le mode de mappage isotrope. J'ai un grand modèle d'objet avec beaucoup de code de dessin que j'essaie de réutiliser dans un projet C# pour dessiner dans un bitmap en mémoire. J'ai des problèmes pour configurer correctement l'objet System.Graphics pour produire la même image. Est-il possible de configurer l'équivalent du mode de mappage MM_ISOTROPIC dans un objet System.Graphics?Équivalent du mode de mappage MM_ISOTROPIC dans Gdi +

Voici le code pertinent de C++/GDI qui prépare le mode de mappage.

CDC* pDC = ... 
pDC->SetMapMode(MM_ISOTROPIC); 
pDC->SetWindowExt(24, 24); 
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX), pDC->GetDeviceCaps(LOGPIXELSY)); 

Répondre

0

Il n'y a rien de spécial MM_ISOTROPIC, il est tout simplement vous que le X et Y échelle est identique, même si vous donnez des valeurs contradictoires avec SetViewportExt() et SetWindowExt(). Ce que vous n'avez pas. Je ne pense pas qu'il reste du matériel qui n'a pas de pixels carrés. Anyhoo, assurez-vous que vous passez des valeurs égales à Graphics.ScaleTransform().

+1

Quand y avait-il du matériel sans pixels carrés? – bobobobo

+2

Quand ils étaient rectangulaires. –