Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 06.01.2010, 21:35   #1
quadrat
Новичок
Джуниор
 
Регистрация: 06.01.2010
Сообщений: 2
По умолчанию Прозрачный фон

Всем добрый вечер ) У меня вопрос, есть примерно такой вот код

Код:
CImage img1;
CImage img2;
			
img1.Load(L"img1.png");
img2.Load(L"img2.png");
		
img1.Draw(dc,32,32);
img2.Draw(dc,32,32);
но у меня не большая проблема, 2 изображение у меня не квадратное, а например круглое, то есть мне нужно чтобы был прозрачный фон !!! Какая функция мне поможет ?
ЗЫ: у картинки есть прозрачный фон, в фотошопе все сделал норм !
quadrat вне форума Ответить с цитированием
Старый 07.01.2010, 03:05   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

AlphaBlend пробовал?
counter вне форума Ответить с цитированием
Старый 07.01.2010, 04:45   #3
quadrat
Новичок
Джуниор
 
Регистрация: 06.01.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от counter Посмотреть сообщение
AlphaBlend пробовал?

Мне нужно чтобы получилось как слева, а не как справа, как у меня на данный момент !!! Должны накладываться 2 изображение друг на друга. А Альфа бленд просто делает прозрачность не фон, а все изображение !!!

Последний раз редактировалось quadrat; 07.01.2010 в 04:48.
quadrat вне форума Ответить с цитированием
Старый 07.01.2010, 10:16   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Хм... "Прозрачность" как в gif-картинке нужна?

Как в "CImage" делать не знаю (это видимо какой-то класс, возможно даже из MFC), а на WinAPI можно через TransparentBlt...

Цитата:
А Альфа бленд просто делает прозрачность не фон, а все изображение !!!
Ну вообще-то эта функция и по-другому может...
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 07.01.2010 в 10:25. Причина: Дасадный апечатк... :(
DomiNick вне форума Ответить с цитированием
Старый 08.01.2010, 04:08   #5
dueram
Пользователь
 
Регистрация: 24.11.2009
Сообщений: 12
По умолчанию

SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(hwnd, RGB(0,0,0), 0, LWA_COLORKEY);

hwnd - хэндл имага,
RGB(0,0,0) - цвет, который будет прозрачным
dueram вне форума Ответить с цитированием
Старый 08.01.2010, 16:52   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Хм... Вот только WS_EX_LAYERED нельзя задавать для дочерних окон и есть ли у CImage хэндл? (у дельфийского TImage нету...)
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.01.2010, 15:18   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,156
По умолчанию

quadrat
Во вложении программа (exe и sorc), делающая фон картинки прозрачным (фоном считается точка в левом верхнем углу картинки). Написано для WinXP и не пойдет на Win98/2k/Vista. Все на WinAPI через TransparentBlt, хотя и на ассемблере
Вложения
Тип файла: rar lesson25-2.rar (18.2 Кб, 42 просмотров)
Mikl___ вне форума Ответить с цитированием
Старый 15.02.2012, 01:03   #8
gusli
 
Регистрация: 15.02.2012
Сообщений: 3
По умолчанию

Обратите внимание
Имя: TR/Crypt.XPACK.Gen
Вид: Троянская программа
В реальных условиях: Да
Отмеченные факты заражения: Низкий
Потенциал распространения: Низкий
Потенциал повреждений: Низкий
Файл статистики: Нет
Версия ядра: 7.03.00.32
gusli вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисуем на image. Прозрачный фон. TwiX Общие вопросы Delphi 8 02.10.2009 19:22
Прозрачный фон xakkkkker Мультимедиа в Delphi 10 24.12.2008 10:44
Прозрачный фон формы Yogik™ Помощь студентам 2 03.01.2008 09:53
Прозрачный фон в ТMemo rpy3uH Win Api 1 30.10.2006 21:16
Прозрачный фон Label Alar Компоненты Delphi 0 30.10.2006 01:38


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS