Alpha

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Alpha

Сообщение GoGosha » 29.04.2003 (Вт) 18:39

Мне надо нарисовать картинку прозрачно поверх другой с заданным коэффициэнтом прозрачности.
После долгих и мучительных вычислений нашём формулу:

R = ((1 - a) * R1 + (a) * R2)
G = ((1 - a) * G1 + (a) * G2)
B = ((1 - a) * B1 + (a) * B2)
a - коэффициэнт прозрачности от 0 до 1

Но разбирать картинку по пикселям-очень долго. Есть ли какой-нибудь быстрый способ сделать это? Возможно через последний параметр BitBlt

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 29.04.2003 (Вт) 20:56

Есть Api ф-я AlphaBlending, может она пригодится.
Пример есть в ApiGuide, у мня че-то с буфером обмена- текст не копируется :cry: , так что пример не дам...
ZU

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 29.04.2003 (Вт) 21:56

serix:
но мож можно как нибудь извернуться и скопировать.(попробуй ещё разок pls.):)

З.Ы.
А то это меня тоже давно беспокоит.:(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.04.2003 (Ср) 8:11

http://www.mentalis.org/vbexamples/vbex ... ry=DIRECTX

Вот эту штучку обязательно зацени. Быстро, красиво. Юзает собственную библиотеку на C++, исходник оной прилагается. Причём он простейший. Рулез, короче.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 30.04.2003 (Ср) 15:29

Я слишком сильно замучил свой XPшник, вот и стали появляться ЛЕВЫЕ глюки(обычные глюки есть всегда, а левые появляются под влиянием того кто мучает Win).Суксь какой-то вместе с мастдаем.
2Gemini: тебе легче будет скачать ApiGuide www.allapi.net , потому что я не знаю когда технология нового тысячелетия на моем компьютере начнет нормально работать :cry: ...
ZU

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 30.04.2003 (Ср) 16:14

GSerg писал(а):http://www.mentalis.org/vbexamples/vbexample.php?vbexample=ALPHA24&category=DIRECTX

Вот эту штучку обязательно зацени. Быстро, красиво. Юзает собственную библиотеку на C++, исходник оной прилагается. Причём он простейший. Рулез, короче.


Непонимаю, почему она в категории DIRECTX, но штука класная. Правда я не люблю пользоваться чем-то чужим но уже почти свою DLL на С++ написал

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 30.04.2003 (Ср) 18:37

GoGosha писал(а):
GSerg писал(а):http://www.mentalis.org/vbexamples/vbexample.php?vbexample=ALPHA24&category=DIRECTX

Вот эту штучку обязательно зацени. Быстро, красиво. Юзает собственную библиотеку на C++, исходник оной прилагается. Причём он простейший. Рулез, короче.


Непонимаю, почему она в категории DIRECTX, но штука класная. Правда я не люблю пользоваться чем-то чужим но уже почти свою DLL на С++ написал


ТОЛЬКО ОНА ГАДИНА НЕ РАБОТАЕТ :(((((


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 93

    TopList