Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 24.03.2013, 09:50   #1
GooV
Оператор ЭВМ
 
Регистрация: 11.01.2013
Сообщений: 23
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос 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 становится черный.
буду благодарен любой помощи.

Последний раз редактировалось GooV, 24.03.2013 в 10:59.
(Offline)
 
Ответить с цитированием
Старый 24.03.2013, 11:46   #2
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Graphics

http://msdn.microsoft.com/ru-ru/libr....graphics.aspx

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

И кинул бы весь код тогда, кто знает как ты рисуешь это поле, может там косяк
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 24.03.2013, 12:43   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Graphics

Создать битмэп, взять с него графикс и в него рисовать сразу, а в pictureBox отображать этот битмэп. Это если ты не хочешь все перерисовывать.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
GooV (24.03.2013)
Старый 24.03.2013, 14:24   #4
GooV
Оператор ЭВМ
 
Регистрация: 11.01.2013
Сообщений: 23
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Graphics

я что-то не пойму как с битмап взять графикс, можно пример пожалуйста.
(Offline)
 
Ответить с цитированием
Старый 24.03.2013, 14:38   #5
GooV
Оператор ЭВМ
 
Регистрация: 11.01.2013
Сообщений: 23
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Graphics

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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com