![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Здравствуйте. Я разрабатываю простой графический редактор. Всё рисование на форме осуществляется в событиях MouseDown, MouseMove, MouseUp. Естественно после перерисовки формы изображение пропадает. :dash1
Переделывать всё под событие OnPaint лень, много переделывать придётся, плюс я незнаю стандартной технологии рисования по OnPaint. Была идея сбрасывать уже нарисованное в битовую карту каждый раз, и каждый раз заново воспроизводить, как это реализовать, или может есть другие подходы без глобальных переделок кода? Времени слишком мала, в мае сдача дипломки, тема связанная с графикой в .NET :wacko |
|||
|
||||
| 0lmer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 3.12.2006 Репутация: нет Всего: -1 |
Посмотри в MSDN на тему GDI.
Мож чего найдешь хорошего. |
|||
|
||||
| vponomarov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 11.8.2007 Где: Киев Репутация: 4 Всего: 12 |
EgoBrain, вот чувак тем же занимался. говорит, что я ему помог, все заработало
http://forum.vingrad.ru/forum/topic-201830...t-redactor.html |
|||
|
||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Хмм... Вариант сбрасывания в файл я не рассматривал, всё время мучился вопросом как сохранять битовую карту в памяти и загружать её в рисуемую область. Это реально? Хотя можно попробывать и с файлом... Блин, опять гемор в итоге...
Тьфу блин, всё вижу, здесь не через файл идёт работа, а в памяти... Но всё равно никак до ума довести не могу, получается сделать чтоб рисунок не пропадал, но не видно самого процесса рисования (нарисованное появляется только после перерисовки формы). В общем не мог бы ты ещё раз всё по-порядку объяснить что и как, и не просто код привести, а в научно публицистическом стиле рассказать А вот, всё, получилось, неужели Да, кстати, впервые вижу чтоб объявляли экземпляры классов здесь:
Это сообщение отредактировал(а) EgoBrain - 24.3.2008, 10:28 |
|||
|
||||
| vponomarov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 11.8.2007 Где: Киев Репутация: 4 Всего: 12 |
а что в этом такого? и кстати, если ты имеешь в виду pictureBox1.Image=new Bitmap(pictureBox1.Width,pictureBox1.Height); - то это инициализация. где же ее делать как не в конструкторе? а если Graphics myGraphix=... , то это просто вспомогательный объект, чтобы залить картинку. опять же не вижу ничего противоестественного |
|||
|
||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Новая проблема: размеры битовой карты, по которой происходит рисование, не совпадают с размерами клиентской области pictureBox, причём возникает это абсолютно по непонятным причинам и поразному (бывает просто нижнюю часть отрезает, а бывает нижнюю и правую). Кто-нибудь сталкивался?
|
|||
|
||||
| Dennnis |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 23.3.2008 Репутация: нет Всего: 4 |
Так же используй двойную буферизацию. Ты рисуешь на невидимой Graphics, а затем просто попируешь содержимое в графикс формы
--------------------
Get Rich or Die Tryin' |
|||
|
||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Что за пространства имён System.Collections.Generic и System.Linq. Какую версию Framework юзаешь? У меня в системе нет таких пространств о_О.
WinXP SP2, .NET Framework 1.1. Походу 2.0 нуна? |
|||
|
||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 14 Всего: 32 |
System.Collections.Generic из 2.0
System.Linq из 3.5 2.0 очень желательно, есть довольно существенные отличия от 1.1 -------------------- I don't need a reason being who I am... |
|||
|
||||
| EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
Немогу найти информацию по вопросу: как осуществить в C# заливку области обозначенной одним цветом, тобишь как это реализовано в MS Paint.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |