WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Создание DC определенного bpp

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Создание DC определенного bpp
m_fox опубликован 30-08-2001 12:54 MSK   Click Here to See the Profile for m_fox   Click Here to Email m_fox  
Как создать контекст в памяти с определенной глубиной цвета?
Например как создать контекст 32bpp при любой глубине цвета установленного в Windows, например при 256 цветах. Т.е. в этом случае не получится использовать CreateCompatibleDC.
stan опубликован 30-08-2001 13:36 MSK     Click Here to See the Profile for stan  Click Here to Email stan     
Может я чего-то не понимаю, но зачем тебе вообще знать bpp контекста. Ты всегда пишешь в него и читаешь RGB триплетами, а если тебе нужна картинка 32 bpp, то ее создать можно с помощью CreateBitmap а там bpp любой.
m_fox опубликован 30-08-2001 13:58 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
У меня есть bmp, и пусть созданая CreateBitmap с 32 bpp:)
256 цветов в windows установлено
Создаю контекст в памяти через CreateCompatibleDC и пытаюсь выполнить SelectObject. Вполне логичное действие :)
Не работает. Читаю MSDN: глубина цвета контекста должна совпадать с глубиной цвета в bmp!!!
stan опубликован 30-08-2001 16:12 MSK     Click Here to See the Profile for stan  Click Here to Email stan     
Ты прав. Реально они должны совпадать. Значит, не судьба :).Используй CreateCompatibleBitmap как написано в книге мудрости.
m_fox опубликован 30-08-2001 17:15 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
Да, но дело в том, что один раз понадобилось иметь bmp 24 bpp и использовать их в контексте. Хорошо, я заметил этот косяк т.к. у меня только 32 bpp выставляется на десктопе. Хотя я обошел это друим способом, но хотелось бы узнать возможно ли такое.
migel опубликован 30-08-2001 22:00 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
DIB не пробывал? - специально для этих вещей предназначен.
m_fox опубликован 31-08-2001 10:59 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
при чем тут DIB?
Сделай DIB 24 bpp и сделай select в DC.
Какая разница в этом случае DIB и DDB?
migel опубликован 31-08-2001 11:08 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
Какой Селект??? ты чего???
SetDIBitsToDevice нужно пользовать!
он тебе все корректно и сделает, А HBITMAP по определению DDB отсеюда и требование на соответсвие глубин цвета.
m_fox опубликован 31-08-2001 11:19 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
Да? А если я хочу использовать AlphaBlend и указывать прозрачноть 4-ым байтом? Как тогда?
migel опубликован 31-08-2001 11:36 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
В таких случаях нужно мешать DDB и DIB а вообще если работаеш с конкретным DC + выкрутасы то создавай совместимы DDB и копируй нужные DIB в них.
m_fox опубликован 31-08-2001 11:41 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
У меня нет проблем при работе с изображениями. AlphaBlend работает DC to DC.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.