Как добавить байты заполнения в растровое изображение? - PullRequest
1 голос
/ 07 января 2009

Допустим, у меня есть некоторые растровые данные, которые я хочу записать в файл .. Теперь я хочу записать их как файл bmp ..

Эти данные не выровнены по DWORD, которые, если я правильно понимаю, должны быть заполнены достаточным количеством байтов для достижения следующего DWORD ..

Однако, когда я пытаюсь дополнить его этим кодом:

bmFile.Write(0x0, (4-(actualWidth%4)));

Я получаю ошибку .. Если я пытаюсь отладить (я использую MSVC ++ 6.0), следующий оператор указывает на ASSERT в CFile :: Write, который утверждает, что первый параметр равен NULL .. Так что это не удается ..

Как мне его набить? я должен написать:

bmFile.Write("0x0"(4-(actualWidth%4)));

вместо этого? или это будет трактоваться буквально ...?

Спасибо ..

1 Ответ

3 голосов
/ 07 января 2009

Возможно, попробуйте:

bmFile.Write("\0\0\0\0", (4-(actualWidth%4)));

Ваш первый пример, как вы говорите, пытается записать данные, на которые указывает нулевой указатель. Ваш второй пример будет писать из байтов '0', 'x', '0', которые имеют значения ASCII 0x30, 0x78, 0x30, что, вероятно, не то, что вы намереваетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...