IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> пустой пиксель, как сделать часть картинки "прозрачной"
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской
Реальное имя: Григорий

Репутация: -  0  +


Здраствуйте, очень надеюсь, на вашу помощь. А теперь к делу.

Я пишу на Pascal'е игрушку, и у меня там много всяких рисунков (домики, юниты, и др.). Рисовать их всех через функции модуля Graph - это самоубийство. Требовалось загружать картинки из отдельных файлов. Я нашел и сделал модуль для этого, тут проблем теперь нет, но появилась другая. Дело в том, что у меня часть картинок являются "сетчатыми", т.е. в некоторых местах в них находятся "дырки" и видно то, что под ними. При рисовании через line, bar и putpixel этих проблем не было, ибо рисовал только те точки, которые были нужны, но теперь с этим есть проблема, т.к. в *.bmp сделать подобную "дырку" нелья.

Я так понимаю, что есть возможность делать конкретный цвет на картинке прозрачным, т.е. все пиксели этого цвета становятся прозрачными, и видно то, что под ними.

Если это правда, то можете описать какая функция тут нужна, и как ее использовать (с учетем того, что в разных рисунках этот цвет будет разным).
А если я ошибаюсь, и такого быть не может, то прошу подсказать другой способ решения данной проблемы.

Заранее благодарен, Григорий.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Добавь в свой модуль переменную, скажем Cvet0. Ты в модуле графику строчками рисуешь? Если да, то всё просто. Добавь фичу не рисовать точку или линию, что там у тебя, если её цвет равен содержимому Cvet0. Прозрачные области в рисунке закрась любым ненужным тебе цветом, а когда картинку нужно будет вывести на экран, вначале запиши номер цвета в переменную Cvet0. Если прозрачных цветов нет, запиши в Cvet0 число большее чем у цвета с самым большим номером.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.11.2021 2:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name