Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что это за зверь Graphics? Как правильно исп-ть BeginContainer? 
:(
    Опции темы
Serjeo
Дата 16.7.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



Когда создается объект Graphics и у этого объекта вызывается метод  BeginContainer, то после метода EndContainer, круг, нарисованный в этом контейнере не исчезает. Как сделать так, чтобы все, что нарисовано в контейнере, исчезло?

Код

            Graphics graf = Graphics.FromHwnd(this.Handle);
            GraphicsContainer grafcont = graf.BeginContainer();
            graf.DrawEllipse(new Pen(Brushes.Black, 5), 0, 0, 100, 100);
            graf.EndContainer(grafcont);

PM MAIL   Вверх
Partizan
Дата 16.7.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Serjeo, 
Код

graf.Clear(Color.White);



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Serjeo
Дата 16.7.2008, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



Цитата(Partizan @ 16.7.2008,  15:13)
Serjeo, 
Код

graf.Clear(Color.White);

Да, я так пробовал, но если рисовать не на белом фоне, а на какой-то подложке, допустим картинке, то как в этом случае стирать нарисованное или как перерисовать круг с новым диаметром?


Как сделать так, чтобы контейнер был небольшого размера и при необходимости его можно было-бы в любой момент стереть?

Это сообщение отредактировал(а) Serjeo - 16.7.2008, 15:33
PM MAIL   Вверх
amarenkov
Дата 17.7.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 21.2.2008
Где: Воронеж

Репутация: нет
Всего: нет



Не-не-не, Serjeo, BeginContainer и EndContainer используется для другого. А именно: для ограничения области действия матриц преобразования. То есть, если ты внутри контейнера установишь матрицу переноса или вращения, то вне ее она действовать не будет.

Если ты хочешь что-то рисовать по какой-то картинке, то у тебя два варианта: 
1. Рисовать фон и активный элемент на разных битмапах, а потом сливать их в один на изображении.
2. Каждый раз стирать картинку не белым цветом, а рисовать весь фон.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.