![]() |
|
|
![]()
|
|
| korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
здравствуйте, коллеги!
передомной стоит следующая задача: есть 32-битный bmp файл с альфа каналом, необходимо его преобразовать к 16-битному bmp-файлу с 1 битом на альфа канал. Как преобразовать я понимаю!!!. после преобразования надо вывести исходный и результирующий bmp файл на экран. что мне для этого нужно сделать? поподробнее если можно. спасибо заранее. -------------------- korbian © |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Преобразовать обратно
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
я не понял, что вы имеете в виду.
-------------------- korbian © |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Винда по разному представляет цвет пикселя но альфа канал в 1 бит он точно не поймёт.
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Slawutich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.7.2007 Где: Украина г.Одесса Репутация: нет Всего: нет |
Винда прекрасно представляет цвет каждого пикселя иначе досихпор небыло бы ни какой графики все было бы (<256 цветов) но как на практике доказано везде присутствуют картинки более чем 256 цветов. Другое дело что, стандартный редактор студии не поддерживает 32 бита, так кто им тогда доктор (За что им там деньги платят Просто в CBitmap загружаеш картинку 32-х витную и отрисовываеш ее на контексте устройства и нет, ни каких проблем. Что косается проблемы, на сколько я знаю (альфа конал-это прозрачность пикселя) в BMP файлах нет такого конала. Ну логически он там конечно есть, потому что любой цвет кодируется 3-мя байтами (краснай 256, зеленый 256 и синий 256) а пиксель весит 4-и байта, 4-й байт просто не используется в BMP, он используется в таких форматах как GIF. поэтому если имееш дело с BMP то тока вручную, попиксельное копирование в контекст с отсеиванием не нужного цвета. Сразу извеняюсь если вдруг не правильно понял суть вопроса! |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 3 Всего: 459 |
На самом деле есть просто Microsoft это активно отрицает -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Slawutich, Есть, сомотри прикреплённый файл, и я его в ХР нормально рисую. И лишний байт на каждый пиксель это место, такчто в файле его хранить нет смысла, в файле хранится только то что надо, это в памяти используетс я DWORD для хранения цвета пикселя, там альфа канал может не использоватся. Присоединённый файл ( Кол-во скачиваний: 18 )
Open.zip 0,73 Kb-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 3 Всего: 459 |
Ну и зря мучался, хрюша то умеет рисовать 32х битные, вот пример
Кто не верит проверьте 142 иконка имеет формат 32 бита на пиксель -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Slawutich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.7.2007 Где: Украина г.Одесса Репутация: нет Всего: нет |
Походу я ошибался
Во гады! Спасибо всем за объяснение! |
|||
|
||||
| korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
действительно, всем спасибо.
по совету Alexeis использовал AlphaBlend(). тему считаю закрытой -------------------- korbian © |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |