У меня есть CGImage (основная графика, C/C++). Это оттенки серого. Ну, изначально это был B/W, но CGImage может быть RGB. Это не имеет значения. Я хочу создать TIFF группы 4 CCITT.Изготовление CCITT сжатого TIFF из CGImage
Я могу создать LZW TIFF (оттенки серого или цвета) путем создания места назначения с правильным словарем и добавления изображения. Нет проблем.
Однако для представления CCITT-4, похоже, не существует эквивалентного значения kCGImagePropertyTIFFCompression. Это должно быть 4, но это создает несжатый.
У меня есть ручная процедура сжатия CCITT, поэтому, если я могу получить двоичные (1 бит на пиксель) данные, я настроен. Но я не могу получить 1 BPP-данные из CGImage. У меня есть код, который должен помещать CGImage в CGBitmapContext, а затем дать мне данные, но он, кажется, дает мне все черное.
Сегодня я задал пару вопросов, пытаясь понять это, но я просто подумал, давайте зададим вопрос, на который я действительно хочу ответить, и посмотрим, сможет ли кто-нибудь ответить на него.
У нас есть способ сделать это. Я должен упустить что-то немое. Что это?
Это не помогает, потому что оно фактически не отображает изображения вообще. Таким образом, это не касается объектов CGImage. У меня уже есть код для чтения файлов группы 4 и их записи, предполагая, что у меня есть данные 1Bit. Мне нужно получить данные из CGImage таким образом, что я могу написать TIFF ... –
Если вы можете получить данные из CGImage в любом формате (и это звучит так, как вы можете), вы можете использовать ImageMagick для преобразования из любого формата, который вы получаете из CGImage, в любой другой формат, поддерживаемый ImageMagick (ваш желаемый формат TIFF) , – lothar
Ну, я действительно не могу получить двоичные данные из CGImage ... Я могу СОХРАНИТЬ документ в другом формате, но я бы предпочел не сохранять, а затем конвертировать ... –