Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Bitmap с прозрачным фоном


Автор: RastaDja 17.5.2011, 15:58
Доброго времени суток!
Пишу в 2010 студии. При работе нужны битмапы, я рисую их в ресурсах (ПраваяКнопкаМыши->Insert Bitmap...). Но как сделать прозрачный фон я не знаю...
   Подскажите сабж.
   Спасибо.

Автор: RastaDja 18.5.2011, 08:01
видимо проблема в том, что формат битмапа *.bmp, буду пробовать вставлять свои (из фотошопа) не .bmp-шные.

Автор: Earnest 18.5.2011, 08:21
Если речь идет о том, чтобы сделать какой-то конкретный цвет в битмапе прозрачным (напр. белый) - не вопрос. Используй TransparentBlt для вывода и все тебе будет. При рисовании ничего особого делать не надо - просто залить фон тем цветом, который ты потом объявишь прозрачным.
Еще теоретически в 32-битных дибах есть альфа-канал, как раз для прозрачности, но сама никогда не пользовалась, поэтому не знаю точно,что и как. А еще есть функция AlphaBlend (для вывода, здесь уже настоящая прозрачность, можно задать процент прозрачности для всего растра).

Автор: RastaDja 18.5.2011, 08:37
Earnest спасибо за ответ. Относительно - задавать конкретный цвет как альфа канал, я читал об этом, но это - для рисования. Я скорее всего не полностью осветил тему. Дело в том, что я использую проект типа Ribbon. У этого "рибона" есть главная кнопка (круглая, вы знаете канечно), и вот функция установки картинки в эту кнопку m_MainButton.SetImage(IDB_PNG1), нужно чтоб картинка IDB_PNG1 была круглая, вот я и парился. Но спс за ответ. Люблю твои ответы - точно и лаконично, не один раз помогала.

вот и решение нашол - http://sitestroyblog.ru/how-to-make-transparent-background/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)