Эквивалент режима отображения MM_ISOTROPIC в Gdi + - PullRequest
0 голосов
/ 26 февраля 2009

У меня есть некоторый код рисования C ++ / GDI, который использует режим изотропного отображения. У меня есть большая объектная модель с большим количеством кода для рисования, который я пытаюсь использовать в проекте C # для рисования в растровом изображении в памяти. У меня возникают проблемы с правильной настройкой объекта System.Graphics для создания одинакового изображения. Есть ли способ настроить эквивалент режима отображения MM_ISOTROPIC в объекте System.Graphics?

Вот соответствующий код из C ++ / GDI, который подготавливает режим отображения.

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

1 Ответ

0 голосов
/ 26 февраля 2009

В MM_ISOTROPIC нет ничего особенного, он просто гарантирует, что X- и Y-масштабирование идентичны, даже если вы даете ему конфликтующие значения с помощью SetViewportExt () и SetWindowExt (). Что вы не делаете. Я не думаю, что осталось какое-либо оборудование, которое не имеет квадратных пикселей.

В любом случае, просто убедитесь, что вы передаете равные значения в Graphics.ScaleTransform ().

...