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

Вниз

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

 
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 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.001 c
8-1208967764
Darkmoon
2008-04-23 20:22
2017.03.12
Альфа канал


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


2-1435584756
Артемка
2015-06-29 16:32
2017.03.12
Составной SQL-запрос


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


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский