Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > GDI+ проблема в рисовании линии при растяжении


Автор: 2xmax 1.12.2009, 01:34
Здравствуйте,
у меня проблема с этим кодом:

Код

private void TestControl_Paint(object sender, PaintEventArgs e)
        {           
            float scaleFactorX = 20.70351f;//50f
            float scaleFactorY = 259.606f;


            float dx = 234.9648f;
            float dy = 289.606f;
            

            e.Graphics.TranslateTransform(dx, dy);
            e.Graphics.ScaleTransform(scaleFactorX, -scaleFactorY);

            Pen linePen = new Pen(Color.Black, 1 / scaleFactorX);

            e.Graphics.DrawLine(linePen, -10f, 0, 10f, 0);           

        }



Проблема в том, что если, например, задать scaleFactorX=50f, то все нормально-толщина линии равняется 1.
Но если задать, например, scaleFactorX=20f, то толщина линии в несколько раз(раз в 10) толще 1.
Используется .Net 3.5. В .Net 4.0b почему-то все работает...мб это баг GDI?
Как решить проблему? МБ надо задать что-нибудь в Graphics? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)