2010-08-09 5 views
0

Я создаю CGImageRef из одного файла TIFF через CGImageSource в другом случае с необработанными растровыми данными через CGDataProvider, а в другом случае - из PDFPage через NSImage. Мне нужно знать разрешение CGImage. Есть ли простой способ узнать это?Получение разрешения из CGImageRef

в случае PDFPage, я должен иметь возможность получить ширину пикселя и пропускную способность точки и выполнить арифметику. Однако в двух других случаях я не вижу способа получить разрешение (или точную ширину или физическую ширину или что-то в этом роде) из источника.

На самом деле, в случае с Raw bitmap у меня есть разрешение отдельно, но я думаю, мне интересно, нужно ли мне переносить это отдельно или если есть умный способ просто вытащить его из CGImageRef .. .

ответ

1

Объекты CGImage - это простые растровые изображения без большого количества метаданных. Они не переносят информацию, такую ​​как размер или разрешение физического изображения (кроме размеров пикселей). Вы должны получить эти данные из источников, из которых вы получили изображения в первую очередь. В случае файлов изображений NSImage имеет свойство size.

+0

ОК, поэтому мне придется носить его вокруг себя. Хорошо, я только что создал класс Image для себя, у которого есть CGImageRef и разрешение. Как получить разрешение из CGImageSource? предположительно, у которого есть информация, но словарь, который он дает, кажется, не имеет метаданных ... –

+0

Словарь будет иметь информацию о разрешении/физическом размере. Убедитесь, что вы смотрите в любом подзаголовке в формате файла. –

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