PNG файлы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

PNG файлы

Сообщение Debugger » 15.10.2007 (Пн) 17:30

У меня вопрос
Как прорисовывать PNG-картинку с альфа-каналом?
З.Ы. искал везде: "PNG", "GDI" и т.д.
Я даже знаю имя файла... _png_alpha.. админы, сделайте поиск по download'у

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 15.10.2007 (Пн) 18:09

Debugger меня этим вопросом так достал в асе, что я его в воображаемый игнор добавил.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 15.10.2007 (Пн) 19:45

Debugger
Загрузить PNG картинку руками в DIB. Исрользовать виндовую функцию AlphaBlend.
Изображение

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.10.2007 (Вт) 8:53

Уже была тема такая...

http://codename33.ru/src/grender_png_full.zip
Программисты не глючат - глючат компиляторы...

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 16.10.2007 (Вт) 19:22

AlphaBlend немного не то...
CodeName33, от количества кода и деклараций глаза на лоб лезут :o . Но работает, однако. А имеется пример где НЕ используются библиотеки? А то как-то нехорошо их с собой таскать.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 16.10.2007 (Вт) 20:41

Использовать вместо AlphaBlend(которая весьма загадочно трактует альфа-канал) DirectDraw(в котором его трактовка настраивается). Причём можно использовать даже не седьмой, а первый
Изображение

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 16.10.2007 (Вт) 23:58

Debugger писал(а):CodeName33, от количества кода и деклараций глаза на лоб лезут :o . Но работает, однако. А имеется пример где НЕ используются библиотеки? А то как-то нехорошо их с собой таскать.


Там почти весь код мёртвый. Просто лень было вытаскивать из него нужное для этого примера. А без библиотек... незнаю-незнаю. Для PNG, как минимум ZLIB нужен, даже если его вручную грузить (не переписывать же его на VB?). Есть ещё GDI+, но у него тоже свои требования...

Добавлено:
Немного поправил. Мёртвого кода стало намного меньше.
Программисты не глючат - глючат компиляторы...

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 17.10.2007 (Ср) 14:45

zlib это понятно, сжатие.
С остальными библиотеками пофик.
Спасибо всем кто отписался.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 103

    TopList