Прозрачность формы по альфа каналу PNG картинки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Прозрачность формы по альфа каналу PNG картинки

Сообщение GOD-iDS » 03.02.2006 (Пт) 10:03

Как сделать так, чтобы формы была прозрачна по альфа каналу от PNG. Т.е. уровень прозрачности можно было выставлять свой для каждого пиксела формы(типо сплэш скрина от последних Adobe продуктов)
:?: :?: :?:
Трудно быть богом, но я попробую!

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

Сообщение CodeName33 » 03.02.2006 (Пт) 11:09

У адобе как раз галимый сплэш. Он просто делает скриншот экрана и на него рисует своё лого. Можешь проверить - форма у него квадратная и если внизу чего-нибудь подвинуть - то на его окне ничего не измениться. А вот создание окон по альфа каналу PNG (и любого другого 32-битного изображения) - возможно. Вот тебе примерчик...

Вроде всё приложил, что надо. Всё DLL файлы кинь в папку с кодом или в system32, в коде поправь DefPath на путь к папке в которой папка data.

И ещё: в коде много лишнего, я не фильтровал - BasicModule вообще содержит накопленные за 5 лет функции, не обращай внимание.
Вложения
32Bit.rar
(225.25 Кб) Скачиваний: 319
Программисты не глючат - глючат компиляторы...

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 03.02.2006 (Пт) 13:36

CodeName33 писал(а): А вот создание окон по альфа каналу PNG (и любого другого 32-битного изображения) - возможно. Вот тебе примерчик...


Отлично похоже это то что нужно! осталось научиться с этим работать! :D :D :!:

Пример отпадный! :lol: :!:

CodeName33, а исходники примера есть или может мелкий примерчик для обучения???
Выложи пожалуйста!
Последний раз редактировалось GOD-iDS 03.02.2006 (Пт) 13:49, всего редактировалось 1 раз.
Трудно быть богом, но я попробую!

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 03.02.2006 (Пт) 13:45

Кстати. если у кого есть что то попроще - выкладывайте!
Тоже посмотрим!

Штука ведь полезная! (по крайней мере красивая)


З.Ы.:
CodeName33, а исходники примера есть или может мелкий примерчик для обучения???
Выложи пожалуйста!
Последний раз редактировалось GOD-iDS 03.02.2006 (Пт) 13:50, всего редактировалось 2 раз(а).
Трудно быть богом, но я попробую!

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 03.02.2006 (Пт) 13:50

Если всё делать своими ручками, они скоро отвалятся !

GOD-iDS
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 03.02.2006 (Пт) 9:51
Откуда: Пенза

Сообщение GOD-iDS » 03.02.2006 (Пт) 13:58

Kovu писал(а):http://bbs.vbstreets.ru/viewtopic.php?t=22439

Спасибо! Посмотрим что это такое...

Примерчик не плохой, но проблемный. Действительно - контролы не отображаются!
Трудно быть богом, но я попробую!

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

Сообщение CodeName33 » 17.02.2006 (Пт) 17:59

GOD-iDS
Код: Выделить всё
CodeName33, а исходники примера есть или может мелкий примерчик для обучения???
Выложи пожалуйста!

Дык исходники примера тоже в архиве в папке "code"... :shock:
Программисты не глючат - глючат компиляторы...

SCINER
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 27.01.2005 (Чт) 20:46
Откуда: Казань

Сообщение SCINER » 23.02.2006 (Чт) 3:56

Вот что я сделал: http://sciner.freewm.net/alpha_form.zip

Без PNG и левых библиотек!

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

Сообщение CodeName33 » 23.02.2006 (Чт) 9:29

SCINER, да я тоже делал без левых библиотек с TGA, но посеял пример да и PNG он популярнее и его проще в фотошопе 32 битным сделать и с масками не париться.
Программисты не глючат - глючат компиляторы...

SCINER
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 27.01.2005 (Чт) 20:46
Откуда: Казань

Сообщение SCINER » 23.02.2006 (Чт) 13:59

CodeName33 писал(а):SCINER, да я тоже делал без левых библиотек с TGA, но посеял пример да и PNG он популярнее и его проще в фотошопе 32 битным сделать и с масками не париться.

Просто не всем хочется таскать из-за этого с собой gdiplus.dll
Это хуже чем msvbvm60.dll

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

Сообщение CodeName33 » 24.02.2006 (Пт) 0:24

SCINER, а в моём примере и нет GDI+. У меня другие библиотеки в основном собственного производства, которые в сумме занимают меньше места, чем msvbvm60 и не требуют регистрации...
Программисты не глючат - глючат компиляторы...

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 12.03.2006 (Вс) 10:08

SCINER, а как в фотошопе альфа-канал сохранить в отдельный bmp-файл?

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 12.03.2006 (Вс) 23:03

SCINER

риспект. 8)

gluk_buka
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 31.01.2007 (Ср) 12:16

Сообщение gluk_buka » 31.01.2007 (Ср) 13:18

А кто нибудь знает как это реализовать в Delphi или хоть обьяснить суть технологии, может что нибудь сам сделаю. Либо может кто нибудь подскажет как использовать dll'ки приложенные в примере

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

Сообщение CodeName33 » 31.01.2007 (Ср) 13:29

gluk_buka, посмотри по VB коду Private Declare/Public Declare - это объявления из внешних DLL - всё легко переносится на Delphi
Программисты не глючат - глючат компиляторы...

gluk_buka
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 31.01.2007 (Ср) 12:16

Сообщение gluk_buka » 31.01.2007 (Ср) 15:23

CodeName33 можешь помочь реализовать это к Delphi? Очень нужно и очень хочется... Я в визуале вообще ничего не понимаю... Если не сложно напиши какие функции из dll берутся чё именно им передаётся и за что они отвечают. И желательно поподробней. Представляешь такую красоту нашёл как делать только на C++ и Visual. Обидно :roll:

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

Сообщение CodeName33 » 31.01.2007 (Ср) 15:52

gluk_buka, Delphi у меня щас нет, и слишком много кода перелопачивать...

Почитай help по функции UpdateLayeredWindow
Программисты не глючат - глючат компиляторы...

gluk_buka
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 31.01.2007 (Ср) 12:16

Сообщение gluk_buka » 31.01.2007 (Ср) 20:19

CodeName33 Уже читал, ничего не получилось. Ты можешь сказать в каком модуле из твоего проекта подключаются dll'ки, я там разобраться не могу.
Может подскажешь к кому ещё можно обратиться с этой проблеммой, и желательно чтобы он занл Delphi. Я уже около года ищю как это сделать, и только сейчас наткнулся на что-то стоящее.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.02.2007 (Чт) 8:10

Изображение


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

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

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

    TopList  
cron