2009-03-02 3 views
0

Надеюсь, у кого-то есть ответ, и он не сложный. Я работаю над dll C++ (нет C# или .Net, полностью статической DLL).Вычисление BITMAPINFOHEADER biCompression для монохромного BMP

Во всяком случае, его забота о создании монохромных растровых изображений. Я все работаю, ЗА ИСКЛЮЧЕНИЕМ резолюции. Я получаю Контекст устройства, Получаю Контекст совместимого устройства, строю растровое изображение, рисую то, что мне нужно (как черно-белое), и может сэкономить. Все это прекрасно работает. Однако я не могу понять, как установить разрешение растрового изображения.

Выполняя некоторые тесты из другой утилиты под C#, я могу создать растровое изображение и установить разрешение. При этом я запускал подпрограмму для создания одного и того же содержимого файла с параметром от 1 до 300 для разрешения. Каждое изображение получило точно такое же ИСКЛЮЧЕНИЕ для значений в свойстве «biCompression» DWORD. По умолчанию используется разрешение экрана 96x96, но для принтеров размером 300x300, и даже для разрешения 203x203, необходимо явно изменить.

ответ

0

Вы действительно уверены? Описание поведения, которое вы наблюдаете, кажется мне подозрительным, и я бы заподозрил код, который вы используете, для написания ваших растровых изображений или кода, который их читает.

1

Вы уверены, что не хотите устанавливать biXPelsPerMeter и biYPelsPerMeter? Эти два поля сообщают вам, сколько пикселей на метр в X и Y, которые вы можете использовать для установки DPI. biCompression относится только к типу сжатия растрового изображения, например, RLE, JPG, PNG и т. Д.

0

Спасибо за ввод, но я также рассмотрю biXPelsPerMeter и biYPels .... Я дважды проверю формат и то, что было установлено ... если это так, вы, возможно, ударили его вторым набором глаз (умов) по моей проблеме.

С благодарностью

Смежные вопросы