forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Graphics (http://forum.boolean.name/showthread.php?t=18020)

GooV 24.03.2013 09:50

Graphics
 
Всем доброго времени суток.
Разбираюсь с Graphics и возникла одна проблема.
Есть pictureBox, в нем я рисую с помощью функции paint, точнее я рисую в нем когда paint вызывается. И суть в том, что я не знаю как можно копировать нарисованные изменения. А если каждый раз рисовать заново то все будет лагать жостко, потому что рисование очень "долгое".
вот код:
Код:

Graphics Pole;//глобальная переменная в которую(по моему мнению) //должно заносится рисунок поле после первого вызова paint
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {           
            if (start)
            {
                Pole = e.Graphics;
                DrawPole(Pole);//рисование поля
                start = false;
               
            }       
            else
            {
                Graphics g= e.Graphics;
                g = Pole;//Вот здесь я уверен что делаю не правильно                                                                                   
            }

        }

Скорее всего я неправельно присваиваю значение pole к g потому что после этого выполнения у меня PictureBox становится черный.
буду благодарен любой помощи.

RegIon 24.03.2013 11:46

Ответ: Graphics
 
http://msdn.microsoft.com/ru-ru/libr....graphics.aspx

Ты же создал новый Graphics.
Чую что нужно было просто просто e.Graphics = Pole; (только 100% уверен что не будет работать)
*Да и не уверен что он вообще правильно весь работает.

И кинул бы весь код тогда, кто знает как ты рисуешь это поле, может там косяк

pax 24.03.2013 12:43

Ответ: Graphics
 
Создать битмэп, взять с него графикс и в него рисовать сразу, а в pictureBox отображать этот битмэп. Это если ты не хочешь все перерисовывать.

GooV 24.03.2013 14:24

Ответ: Graphics
 
я что-то не пойму как с битмап взять графикс, можно пример пожалуйста.

GooV 24.03.2013 14:38

Ответ: Graphics
 
все пример не нужен сам разобрался, спасибо большое=)


Часовой пояс GMT +4, время: 13:43.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot