Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.24;
Скачать: CL | DM;

Вниз

Alpha канал   Найти похожие ветки 

 
NeiL   (2008-02-01 20:30) [0]

Народ, может кто знает как определить Alpha канал на Bitmape. Очень надо (поделитесь ссылками на эту тему). Заранее благодарю.


 
ProgRAMmer Dimonych ©   (2008-02-01 21:20) [1]

Упрощённо говоря, Bitmap отображает графику в формате BMP, который не предполагает использования альфа-канала.


 
homm ©   (2008-02-01 21:47) [2]

> Народ, может кто знает как определить Alpha канал на Bitmape.

Что есть в твоем понимании Bitmap?
Юзай Graphics32.


 
easy ©   (2008-02-01 21:54) [3]

http://dfc.com.ru/?sid=2&id=18&itemid=42


 
homm ©   (2008-02-01 22:35) [4]

> [3] easy ©   (01.02.08 21:54)
> http://dfc.com.ru/?sid=2&id=18&itemid=42

 case header.PixelDepth of
   32: begin
       ReadFile(handle, pBits^, header.Width * header.Height * 4, dwRead, nil);
       alpha := true;
     end;
   24: ReadFile(handle, pBits^, header.Width * header.Height * 3, dwRead, nil);
   16: ReadFile(handle, pBits^, header.Width * header.Height * 2, dwRead, nil);
 end;

Ужас какой-то :(


 
_Mike_   (2008-02-01 22:39) [5]


> который не предполагает использования альфа-канала.

Еще как предполагает. При 32бит на пиксель 1 байт (старший) и есть собственно альфа-канал


 
homm ©   (2008-02-01 22:41) [6]

ReadFile(handle, pBits^, header.Width * header.Height * header.PixelDepth div 8 , dwRead, nil);
alpha := header.PixelDepth = 32;


еще вот этот фрагмент не понял:
 if alpha then
   for y := 0 to header.Width * header.Height - 2 do
   begin
     pBits^[y][0] := pBits^[y][0] * pBits^[y][3] div 255;
     pBits^[y][1] := pBits^[y][1] * pBits^[y][3] div 255;
     pBits^[y][2] := pBits^[y][2] * pBits^[y][3] div 255;
   end;

Т.е. если картинка с альфаканалом, портим другие каналы, как если бы мы смешивали картинку с черныс фоном? Зачем?


 
homm ©   (2008-02-01 22:43) [7]

> [5] _Mike_   (01.02.08 22:39)
> При 32бит на пиксель 1 байт (старший) и есть собственно альфа-канал

Смотря где и для кого. Против [1] зря споришь.



Страницы: 1 вся ветка

Текущий архив: 2008.02.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
2-1201887045
NeiL
2008-02-01 20:30
2008.02.24
Alpha канал


15-1200601513
Alik
2008-01-17 23:25
2008.02.24
I/O порты промышленных компьютеров.


15-1200748755
Putnik
2008-01-19 16:19
2008.02.24
Статьи по работе с указателями


2-1201674470
vegarulez
2008-01-30 09:27
2008.02.24
Как обойти вызов соединения при использовании:


2-1201887760
Igora
2008-02-01 20:42
2008.02.24
Помогите кто знает, как сделать