| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Конвертация из BMP в PDF(16bpp) |
| Автор: frutta007 9.6.2008, 19:08 | ||
| При конвертации из BMP в PDF(картинка имеет 16bpp), без компрессии, stream(в PDF) заполнен нулями..В следствии чего на картинке появляется сероватый фон..Как это можно исправить..Может неправильно подсчитанно смещение? вот мой подсчет сдвигов:
|
| Автор: bsa 9.6.2008, 22:44 | ||
| RRRRRGGG GGGBBBBB вот и считай:
|
| Автор: frutta007 10.6.2008, 15:07 |
| Этот подсчет получается на случай 565, а мне нужен 555, ты не мог бы пересчитать плиззз!!!! |
| Автор: bsa 10.6.2008, 18:13 |
| http://msdn.microsoft.com/en-us/library/ms788140(VS.85).aspx |
| Автор: frutta007 10.6.2008, 18:54 |
| Пробовал...то синий цвет преобладает , то ваще черный квадрат Малевича на выходе!! Тот кусок который я выложил -самое близкое к результату...остается как-будто серая дымка на заднем плане...Перепробовал уже все...Щас в тупике!!! |
| Автор: bsa 10.6.2008, 19:02 |
| frutta007, у тебя там 0x3F (6 бит), а надо 0x1F (5 бит). Именно поэтому я и решил, что у тебя 565 |
| Автор: frutta007 16.6.2008, 19:18 |
| Спасибо огромное ...помогло...но все-таки MSDN врет!!!!там не все так просто...он из белого делал серый!!! |
| Автор: bsa 16.6.2008, 20:30 |
| frutta007, знаешь что такое серый? Это когда у тебя все три компонента равны между собой, но не равны 255. Чтобы этого избежать, тебе надо при преобразовании еще доумножать на некоторый коэффициент: blue = 255 * ((color << 3) & 0xF8) / 0xF8 |