Прозззрачность

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

Прозззрачность

Сообщение Kremlin » 14.04.2003 (Пн) 18:23

Подскажите в который раз как быть с прозрачностью. А конкретнее с выводом графики через BitBlt, что почитать, какие посмотреть сайты?

Dr.Daemn
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 13.04.2003 (Вс) 13:27

Сообщение Dr.Daemn » 14.04.2003 (Пн) 20:33

C BitBlt тебе ничего не светит... там нет методов для альфаблиндинга (alphablending - прозрачность, точнее смешивание с учетом альфа-канала - канала прозрачности). Тут все зависит от того что ты делаешь. Если игру то переходи на DirectX и используй части из Direct3D, их можно применить даже для двухмерной графики хорошо. А вот если DirectX не подходит то забудь про VB и пиши на более скоростных языках, лучше всего Assembler - или целиком, или делай DLL, которая будет проводить альфаблиндинг. Где-то у меня такая валялась даже вроде, даешь ей 3 адреса - 2 картинки (массивы из пикселей), она в третью (тож массив) пишет смесь этих 2х с указанной прозрачностью. Если никак не найдешь - могу покопаться в бездонных архивах (я чуть ли не пару лет назад эту DLL качал, она уже где-то даалекооооо в архивах в самом дальнем углу лежит) и отмылить... Вообще уточни ситуацию, а там мож яснее станет.

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

Сообщение GSerg » 15.04.2003 (Вт) 10:41

А ещё лучше, зацени это
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Прозззрачность

Сообщение ALX_2002 » 15.04.2003 (Вт) 10:58

Kremlin писал(а):Подскажите в который раз как быть с прозрачностью. А конкретнее с выводом графики через BitBlt, что почитать, какие посмотреть сайты?


Дядьк - для простоты возьми на http://vbstreets.ru/download.asp?id=496
Это мой старинный пример скринмейта..
Из него тебе понадобится только 2 строки. Рисование инвертированного изображения и наложение маски.
:wink:
Если чё - то соощай сюда или мне на мейл vb_creator@front.ru.
:)

Wassago
Новичок
Новичок
Аватара пользователя
 
Сообщения: 36
Зарегистрирован: 23.11.2008 (Вс) 21:55
Откуда: Kalimdor

Re: Прозззрачность

Сообщение Wassago » 04.12.2008 (Чт) 22:22

Можно BitBlt:
Код: Выделить всё
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Я один навсегда,так жесток небесный дар,жизнь забыла, смерть не ждет, у своей черты.
ИзображениеИзображениеИзображение

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

Re: Прозззрачность

Сообщение Debugger » 04.12.2008 (Чт) 22:46

Нее, с BitBlt не получится. Рулим в сторону -
Get/Set Pixel (тормознуто, но все прозрачно).
GetDIBits и SetDIBitsToDevice (выбор автора 8) )
AlphaBlend (равномерная прозрачность)
TransparentBlt (полная прозрачность одного цвета).
P.S. Wassago, что это было?

Gars
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 04.12.2008 (Чт) 1:21

Re: Прозззрачность

Сообщение Gars » 05.12.2008 (Пт) 0:47

P.S. Wassago, что это было?

Есе бы Wassag'а не забанили, хз за что,он бы написал : Ето было API.


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 60

    TopList