Прозрачные изображения |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Прозрачные изображения |
Anonimys |
3.05.2012 10:46
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Есть один вопрос. Я создаю одну тестовую игрушку и хочу добавить туда, к примеру человека. Но мне нужна прозрачность, чтобы он не затирал фон там, где нету "его частей тела". Сейчас сижу на wingraph'е и работаю с bmp изображениями. Есть какие-то идеи как можно использовать прозрачность? Ведь не стану я рисовать 5000 его вариаций на разных фонах...
Помогите пожалуйста ^_^ Сообщение отредактировано: Anonimys - 3.05.2012 10:47 |
TarasBer |
3.05.2012 15:57
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Есть несколько режимов вывода картинки. По умолчанию задан прямой режим - он просто выводит прямоугольник, в лоб копируя пикселы. Можно задать режим AND и режим OR. Если человечку нарисовать чёрный фон и вывести его через OR, то он не будет ничего затирать там, где фон. Но он будет странного цвета.
Поэтому сначала надо вывести чёрный силуэт человечка на белом фоне через AND, а потом вывести нормальное изображение человечка на чёрном фоне через OR. -------------------- |
Anonimys |
3.05.2012 19:10
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Хм.. У меня есть процедура, она выводит изображение. Вот она
procedure LoadBMP(x,y:integer; name:string); Как эти режимы можно поменять тут, если не секрет? Ну.. Пример применения есть какой-нибудь? Именно на этой процедуре. Цитата PutImage(x,y,bitmap^,NormalPut); Может быть тут? "NormalPut"Сообщение отредактировано: Anonimys - 3.05.2012 19:19 |
Anonimys |
3.05.2012 22:42
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: 0 |
Так, сделал, вроде бы все правильно. Сначала я вывожу черное-белое изображение (черное - силует человечка) через AND. Всё нормально. Но, как только я на него накладываю обычное изображение через OR, то появляется белый фон. Пробовал менять на черный - эффекта 0... Хотя силует через AND идет правильно =\
Оупс. Разобрался. Моя ошибка, когда проверял с черным фоном кое-что исправил в коде и забыл вернуть. Всё работает, большое спасибо, TarasBer ^__^ Сообщение отредактировано: Anonimys - 3.05.2012 22:44 |
Текстовая версия | 4.06.2024 1:13 |