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

Вниз

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

 
Darkmoon   (2008-04-23 20:22) [0]

Всем привет
Вот такая проблема: есть 32 битный битмап на него надо нарисовать текст, шрифтом tahoma, размер шрифта 8, (естественно у этого шрифта альфа канала нет). Так как шрифт без альфа канала на битмапе альфа канал в том месте где рисуется текст становится равным нулю. Как этого избежать?


 
tesseract ©   (2008-04-24 11:58) [1]

Brush:=bsClear ?


 
antonn ©   (2008-04-25 08:52) [2]


> Brush:=bsClear ?

речь об альфе. Вроде бы все gdi функции обрабатывают только первых три байта, альфа затирается, как на фоне, так и на "нефоне".

я делал промежуточный битмап, на который копировал альфу с исходного изображения, рисовал белым текст (нужно было при любой прозрачности альфы всегда непрозрачный текст, хотя это может и не нужно), рисовал textout() на исходном текст и восстанавливал альфу обратно. Гемор, но что поделаешь, привязывать себя к лишней библиотеке типа gdi+ совершенно не хочется...


 
Darkmoon   (2008-04-27 14:31) [3]

наверное так и придётся...
кстате gdi+ точно также рисует.В Висьте кстате этого глюка нет.


 
Игорь Шевченко ©   (2008-04-27 17:26) [4]

Нарисуй на другом битмапе, установи нужное значение альфа-канала, скопируй битмап с учетом прозрачности. Я б так и сделал


 
Darkmoon   (2008-05-01 16:56) [5]

немного непонятно что вы имели виду, но также надо учитывать и то что текст может быть как с альфа каналом так и без него.


 
antonn ©   (2008-05-01 20:32) [6]

"текс" не может быть "с альфаканалом", он просто рисуется без альфы. Если нужен и "альф" для текста можно выпендриться :) сделать два буферных битмапа, на оба скопировать кусок исходного изображения (только на один "видимый спектр" - RGB, а на второй альфу (и забить ее вмнесто каналов rgb - будет картинка альфы в градациях серого)). далее на первом рисуешь текст как он должен быть видимым, а второй по тем же координатам этот же текст, но белым цветом - будет альфа текста. Потом "собираешь" оба этих битмапа в один 32 битный и все :)


 
AutoBOT   (2009-04-21 05:51) [7]

Удалено модератором
Примечание: Нефиг поднимать чужие ветки.


 
antonn ©   (2009-04-21 09:20) [8]

http://desksoft.ru/index.php?forum=13&th=47
http://desksoft.ru/index.php?forum=13&th=216


 
antonn ©   (2009-04-21 09:20) [9]

с текстом - http://desksoft.ru/index.php?forum=13&th=187


 
antonn ©   (2009-04-21 22:24) [10]

ну и чего я как дурак со своими ссылками, если вопрос был удален? :)


 
AutoBOT   (2009-04-24 20:34) [11]

Удалено модератором



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

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

Наверх




Память: 0.49 MB
Время: 0.006 c
2-1435584756
Артемка
2015-06-29 16:32
2017.03.12
Составной SQL-запрос


1-1349251842
de_guta
2012-10-03 12:10
2017.03.12
Проблема с записью в массив


15-1459032676
Kilkennycat
2016-03-27 01:51
2017.03.12
Qt.


15-1458755602
Dimka Maslov
2016-03-23 20:53
2017.03.12
Как жить дальше?


3-1312799506
Quart
2011-08-08 14:31
2017.03.12
пустой GUID