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


Автор: ZUBR80 25.1.2006, 14:44
Рисую в OnPaint контроле много точек (например точечную сетку, как в Дизайнере).
Делаю это например так:
Код

            Dim x As Integer = System.Math.Round(e.ClipRectangle.X / GRIDSIZE) * GRIDSIZE
            Dim y As Integer = e.ClipRectangle.Y
            Do While x < e.ClipRectangle.X + e.ClipRectangle.Width
                y = 0
                Do While y < e.ClipRectangle.Y + e.ClipRectangle.Height
                    e.Graphics.FillRectangle(Brushes.Black, x, y, 1, 1)
                    y = y + GRIDSIZE
                Loop
                x = x + GRIDSIZE
            Loop


Но при этом отрисовка происходит очень медленно... smile

Может как-нибудь можно это ускорить?

Автор: Exception 25.1.2006, 15:33
Попробуй использовать DrawLine с шириной линии = 1. Должно ускориться.

Автор: ZUBR80 25.1.2006, 17:58
Вот так рисует по две точки (а надо по одной)
Код

                    e.Graphics.DrawLine(Pens.Black, x, y, x + 1, y)


а так - вообще не рисует
Код

                    e.Graphics.DrawLine(Pens.Black, x, y, x, y)


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