C # GDI + SetMapMode - PullRequest
       19

C # GDI + SetMapMode

2 голосов
/ 01 ноября 2011

Кажется, у меня есть некоторые проблемы с реализацией SetMapMode в C #. Не эксперт в C #, поэтому я не слишком удивлен, что я вижу ошибки. Даже при том, что компиляция в порядке, DrawLine создает исключение InvalidOperationException. Есть идеи?

[DllImport("gdi32.dll")]
static extern int SetMapMode(IntPtr hdc, int fnMapMode);

myPen = new Pen(Color.Black, 1);
formGraphics = envMap.CreateGraphics();
IntPtr hdc = formGraphics.GetHdc();
SetMapMode(hdc, 3); // MM_LOMETRIC
formGraphics.DrawLine(myPen, (2 * rect.Right - 60) - 15, 8, (2 * rect.Right - 60), 0);
formGraphics.DrawLine(myPen, (2 * rect.Right - 60), 0, (2 * rect.Right - 60) - 15, -8);

Заранее спасибо

1 Ответ

2 голосов
/ 01 ноября 2011

Наиболее близким к этому является установка PageUnit для объекта Graphics.Из того, что я вижу, нет эквивалента MM_LOMETRIC, но есть Millimeter.

Возможно, вы могли бы объединить это с ScaleTransform, чтобы получить желаемый эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...