Форум: "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