Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

TBitmap и Альфаканал   Найти похожие ветки 

 
DevilDevil ©   (2006-10-05 09:56) [0]

Необходимо реализовать альфаканал для Битмапа. Пробовал использовать четвёртый байт в 32-х битном. Безрезультатно. Помогите, чем сможете. Желательно с примерчиком


 
SamBrook ©   (2006-10-05 11:20) [1]


> Необходимо реализовать альфаканал для Битмапа. Пробовал
> использовать четвёртый байт в 32-х битном. Безрезультатно.
>  Помогите, чем сможете. Желательно с примерчиком
> <Цитата>

Как пробовали и что не получилось?
Справку по функции AlphaBlend читали?


 
DevilDevil ©   (2006-10-05 11:57) [2]

> Справку по функции AlphaBlend читали?

Раньше не читал, сейчас прочёл, понял, что к Битмапам это не имеет отношения.

> Как пробовали и что не получилось?

Формирую Битмап, PixelFormat := pf32bit;

PRGBQuad := Битмап.Scanline[Битмап.Height-1];

for i := 1 to Битмап.Height*Битмап.Width do
begin
PRGBQuad^.rgbReserved := 128;
inc(PRGBQuad);
end;

Canvas.Draw(0, 0, Битмап);


 
Sambrook ©   (2006-10-05 12:38) [3]


> > Справку по функции AlphaBlend читали?
> Раньше не читал, сейчас прочёл, понял, что к Битмапам это
> не имеет отношения.

Ошибаетесь, самое непосредственное.

Вместо Canvas.Draw:


var
 blend:BLENDFUNCTION;
.....

with blend do begin
  BlendOp:=AC_SRC_OVER;
  BlendFlags:=0;
  AlphaFormat:=AC_SRC_NO_PREMULT_ALPHA;
  SourceConstantAlpha:=255; //другие моды в справке
end;

AlphaBlend(Canvas.Handle,
              0,0,100,100,
              Битмап.canvas.handle
              0,0,Битмап.width,Битмап.height);


 
Ketmar ©   (2006-10-05 16:27) [4]

а чем GrahpicsEx не устраивает?


 
Sambrook ©   (2006-10-05 17:50) [5]


> а чем GrahpicsEx не устраивает?


Хм. Вообще то она платная...


 
Ketmar ©   (2006-10-05 17:57) [6]

>[5] Sambrook(c) 5-Oct-2006, 17:50
>Хм. Вообще то она платная...
ЧЕГО??? с каких это пор GPL-проекты стали платными???


 
Ketmar ©   (2006-10-05 17:57) [7]

ой. дико извиняюсь. не GraphicsEx, а Graphics32, конечно. %-))


 
DevilDevil ©   (2006-10-06 13:38) [8]


> Ketmar ©   (05.10.06 16:27) [4]
> а чем GrahpicsEx не устраивает?


Разбираться Долго, быстрее вручную.

> Sambrook ©   (05.10.06 12:38) [3]

Я, если честно, на BCB программирую, там траблы с линковкой AlphaBlend [<-- жуть какая!]. Щас вот попробую на Delphi, потом может быть...


 
Ketmar ©   (2006-10-06 13:49) [9]

>[8] DevilDevil(c) 6-Oct-2006, 13:38
>Разбираться Долго, быстрее вручную.
не сомневаюсь. намного быстрее иметь "траблы с линковкой", нежели использовать простой класс TBitmap32. продолжай в том же духе.


 
DevilDevil ©   (2006-10-06 13:53) [10]

Попробовал в Delphi, хочешь верь, хочешь, не верь... вообще ничего не показывает... Заменил строки на Canvas.Draw - битмап отображается. Вывод: как то не так использую AlphaBlend:

Windows.AlphaBlend(Canvas.Handle, 0,0,100,100, Bitmap.canvas.handle, 0,0,Bitmap.width,Bitmap.height, blend);

P.S. в моей Win32SDK об AlphaBlend ни слова...


 
DevilDevil ©   (2006-10-06 13:55) [11]

> Ketmar ©   (06.10.06 13:49) [9]
Намного быстрее самому написать процедуру смешиваний Битмапов, чем переделывать весь проект под простой класс TBitmap32. Продолжай занудничать.


 
Ketmar ©   (2006-10-06 14:01) [12]

>[11] DevilDevil(c) 6-Oct-2006, 13:55
чем больше тебя читаю, тем больше убеждаюсь, что Ф. резко отрицательно влияет на моск. увы. убедил, специально для тебя допишу игнор в CDM.


 
DevilDevil ©   (2006-10-06 14:07) [13]

> Ketmar ©   (06.10.06 14:01) [12]

Грубите, батенька...


 
Sapersky   (2006-10-06 17:05) [14]

P.S. в моей Win32SDK об AlphaBlend ни слова...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6ig4.asp



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

Форум: "Media";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
8-1160027808
DevilDevil
2006-10-05 09:56
2007.06.24
TBitmap и Альфаканал


15-1180447441
umbra
2007-05-29 18:04
2007.06.24
куда катится мир - точка зрения


1-1177236415
Oleg_teacher
2007-04-22 14:06
2007.06.24
SpeedButton + Рисунок


15-1180081457
_uw_
2007-05-25 12:24
2007.06.24
Работа, которую нужно срочно выполнить


15-1180074579
Jeer
2007-05-25 10:29
2007.06.24
Жара действует.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский