|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Составной (многослойный) рисунок. Как сделать? |
|
.NET - Составной (многослойный) рисунок. Как сделать?
|
Пользователь Сообщения: 79 |
Доброго времени суток. Занялся я созданием своей ККИ (карточно коллекционная игра) и сейчас пишу "конструктор" карт к ней, который будет одновременно и БД карт. С текстом и его сохранением все понятно, а вот графика, тут нужна помощь. Дело в том что по мере выбора различных свойств карт, в программе должна отрисовываться сама карта. Выбрал тип карты - существо. Отрисовало базовую заготовку карты существа. Выбрал ранг существа - Герой. Добавило золотую каёмочку. Выбрал фракцию существа - Воин. Добавило красный ободок внутри. Выбрал класс - Варвар. Добавило на карте значок варвара. Ну и так далее. Тоесть нужно чтобы в зависимости от выбора пунктика, прога накладывала текстуры и в конце мы получим рисунок готовой карты. По сути получается многослойный рисунок. Изначально я банально думал что будут создаваться новые PictureBox и накладываться друг на друга, но проблема в прозрачности. Они попросту перекрывают друг друга, хотя в заготовках пустое место прозрачное. Сейчас я уже понял что это глупо и другого и ожидать не стояло, но я не знаю что делать ( Подскажите как можно решить эту задачу. Уже ни на одном форуме писал, все молчат (
|
|
Отправлено: 14:44, 21-01-2013 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Около 10 месяцев назад работал над приложением для взаимодействия с неким контроллером (язык С++, но это неважно). И необходимо было отрисовывать графики данных поступающих с контроллера в реальном времени. Обычное рисование не подходило. Начал упорно гуглить в поисках решения. Нагуглил WinApi функцию(сейчас не могу назвать ее имя, не помню). Суть функции в том, что определенному битмапу соответствовал некий массив, размерность которого количество пикселей битмапа.
Работала такая отрисовка во много раз быстрее обычной. Как вариант можно использовать заготовки битмапов, считывать с них пиксели в массив (есть и такая функция), "накладывать друг на друга массивы" и выводить это в битмап. В теории так) Если необходимо, вечером могу сказать имя функции. P.S. Функции SetDIBits/GetDIBits. Вроде так. |
------- Последний раз редактировалось LilLoco, 21-01-2013 в 16:38. Причина: Добавление Отправлено: 16:34, 21-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать LilLoco,
не - он другое имеет в виду. хотя твой способ хорош. у мя тож были проблемы с прорисовкой WinApi и буферизация спасала. а вообще ответ на вопрос такой. В .Net для C# предусмотрен такой класс как graphics. Это область прорисовки, которой обладают все элементы, в том числе и picturebox, да и WinForm тоже. По сути выбор элемента, в котором будет рисоваться, это всего лишь границы рисования и удобнее всего брать обычный picturebox. работает graphics так. graphics _graph = picturebox.GetGraphics(); както так.. точно непомню. тем самым все, что будет происходить с _graph будет автоматом прорисовываться в границах picturebox. а дальше уже дело фантации. набор функций там достаточно большой, можно получать пиксели с уже готовых рисунков-шаблонов, можно программно рисовать по линиям, точкам, фигурам и заливкам. |
Отправлено: 19:56, 21-01-2013 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Фоновый рисунок | Vandheer | Вебмастеру | 1 | 15-07-2011 14:48 | |
Разное - Рисунок папки | Sly Fly | Microsoft Windows 7 | 0 | 09-01-2011 23:32 | |
Фоновый рисунок | kda12 | Microsoft Windows NT/2000/2003 | 6 | 06-02-2007 11:53 | |
прога для наложения календаря на рисунок (вобщем надо календарик сделать) | Denis Shutka | Программное обеспечение Windows | 7 | 20-01-2005 21:03 | |
Как достать рисунок | badze | Хочу все знать | 3 | 26-02-2004 18:26 |
|