Всем Добрый вечер!
Дали задание переделать 24-битное изображение (bmp) в цветное 8-битное. Использовать нужно ВинАПИ-шные функции.
Сначала я решил конвертировать картинку вручную, но во время процесса гугления, наткнулся на эту самую функцию: BitBlt(), а точнее, я прочитал, что её можно использовать для решения моей задачи.
Одно НО, я с ВинАПИ "на Вы", подробных туториалов по этой функции не нашел, в тех что видел – ни слова об преобразовании 24 -> 8.
Или же есть другие варианты преобразования через WinAPI? Чем проще – тем лучше)
6 марта 2010 в 22:03
Дмитрий, требуется не чб
если уж руками, то потребуется построить саму палитру, для чего нужно по гистограмме выбрать наиболее важные цвета, выбрать оставшиеся цвета так, чтобы обеспечить минимальное расхождение, а потом уже переводить цвет в индексированный.
6 марта 2010 в 15:03
Ну во первых в 8 битных изображениях изпользуется палитра из 256 цветов в соответствующем формате. Поэтому или искать индекс в палитре соответствующий ближайшему цвету или преобразовать цветную картинку в чб.
6 марта 2010 в 14:03
//ru.wikipedia.org/wiki/BMP
6 марта 2010 в 13:03
если только WinAPI, то нарисуйте его в соответствующем контексте.
6 марта 2010 в 8:00
Еслис WinAPI на вы, то MSDN тебе в руки! И вперед!
6 марта 2010 в 1:01
о нет, здесь BitBlt не при чем. она всего лишь копирует картинку с контекста на контекст, не масштабируя ее при этом. то есть почитай, что такое контексты в винапи
а для реализации твоей задачи тебе нужно кое что другое
к сожалению не помню, т.к. пары по обработке изображений пропускал(