|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.06.2013, 13:11 | #1 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
Рисование на форме C#
Среда VS 2010
Я новичок в C#. Хочу написать простую игрушку здесь(до этого писал в delphi ее же), такой вопрос: Как можно просто и относительно быстро выводить буфер кадра на форму? Или где можно почитать об этом, в каком направлении искать? Есть здесь какая-то команда, подобная BitBlt, которой я выводил кадр в делфи? |
10.06.2013, 12:36 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Примерно как тут http://programmersforum.ru/showthread.php?t=216809 только создать битмап-буффер, на него с помощью его graphics рисовать что надо, а потом на graphics формы вывести единым махом.
Если что-то не получится, кидайте сюда проект, помогу разобраться. пс. битблит платформо-зависимая вещь, в дотнете хоть и можно было бы обратиться к винапи и работать с ними, но сложнее и мало смысла (ввиду межплатформености дотнета, и идеологии ввообще) Последний раз редактировалось phomm; 10.06.2013 в 12:39. |
10.06.2013, 18:37 | #3 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
ок, спасибо, будем пробовать) Вроде от дельфи почти не отличается
|
13.06.2013, 00:35 | #4 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
Что-то уже второй день не могу проблему решить. Допустим, у меня уже есть готовый буфер Graphics buf, где все спрайты нарисованы и надписи написаны.
Код:
Простое присваивание ссылок тоже ничего не дает. |
13.06.2013, 09:24 | #5 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
BitBlt из gdi32.dll сможет скопировать.
|
13.06.2013, 09:58 | #6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Не помню, как там насчёт графикс вывести на графикс, вроде как-то можно, но надо смотреть, ну а я писал малость не так, я имел ввиду на основной графикс(формы) вывести сам битмап-буфер, а не его графикс (графикс битмапа - для рисования на нем).
Ну если не получится, то выкладыйвайте проектом, навскидку говорить есть ли там заковырки и какие шаги надо принимать - малореально. |
13.06.2013, 11:39 | #7 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
А как тогда мне достать битмап из графикса? Я чувствую, в каком-то месте просто не понял, как с этими двумя классами работать
Моя последовательность действий: объявить Graphics buf - подготовительный буфер, накидать в него картинок командой вроде: buf.DrawImage(im,0,0) и затем этот буфер как-то полностью скопировать в основной буфер формы. Из вашего сообщения, я так понял, для хранения второго (подготовительного) буфера нужно класс Image использовать? Но как тогда изменять этот Image buf, чтобы создать полностью готовый кадр? как добавить на него другие картинки? |
13.06.2013, 16:43 | #8 | ||
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Цитата:
Цитата:
Кстати, чем вызвано желание перейти с дельфи VCL на винформс и сишарп ? не всё ли равно на чём из этих двух вещей писать простенькую игрушку ? я писал простенькие на обоих, и в общем и целом скажу, что дельфи чуть лучше подходит для такой цели. Ну а про код/проект уже устал говорить )) Последний раз редактировалось phomm; 13.06.2013 в 16:49. |
||
13.06.2013, 22:25 | #9 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
Все понял, теперь получилось, спасибо
|
15.06.2013, 12:09 | #10 |
Пользователь
Регистрация: 13.05.2009
Сообщений: 47
|
Поспешил радоваться, не прокатило как хотел сделать. Мерцание есть (не понимаю почему), но если поставить галочку DoubleBuffered, перестает.
Основная проблема, что таймер здесь как -то не так время меряет. Т е если изменить интервал скажем с 10 на 5, в 2 раз быстрее кружки по форме не поедут. В этом проекте еще не так заметно, но в основном проблемы начинаются уже на интервале 50-70. Когда я ставлю интервал меньше, действия не ускоряются абсолютно, и все рывками идет. В том проекте принцип вывода аналогичный. Выложил и код, и проект. Посмотрите, пожалуйста. Сам уже вряд ли разберусь. Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c# рисование на форме | world12_tk | Помощь студентам | 5 | 03.09.2012 14:41 |
Рисование на форме | Dissembler7 | Помощь студентам | 2 | 17.03.2012 22:43 |
Рисование на форме. | (*_*) | Общие вопросы C/C++ | 1 | 22.09.2009 13:06 |
рисование на форме | Kostua | Помощь студентам | 2 | 26.07.2008 16:24 |
Рисование на форме | niva622 | Помощь студентам | 4 | 18.01.2007 09:34 |