NSImage DPI вопрос

Может ли кто-нибудь сказать мне, как я могу получить истинную ширину и высоту NSImage? Я заметил, что изображения с более высоким DPI, чем 72, имеют неточную ширину и высоту с параметрами NSImage.size.

Я видел этот пример на Cocoadev:

NSBitmapImageRep *rep = [image bestRepresentationForDevice: nil];

NSSize pixelSize = NSMakeSize([rep pixelsWide],[rep pixelsHigh]);

Однако bestRepresentationForDevice устарел в 10.6... что я могу использовать в качестве альтернативы, документация не предлагает другого метода?


person mootymoots    schedule 20.01.2011    source источник


Ответы (2)


Создайте свой NSBitmapImageRep из TIFF-представления NSImage.

NSBitmapImageRep* rep = [NSBitmapImageRep imageRepWithData:[image TIFFRepresentation]];
person Comrade Yeti    schedule 20.01.2011

Переберите представление изображения в поисках изображения с наибольшим -size. Вызов -bestRepresentationForRect:context:hints: должен сделать это за вас, если вы подаете очень большой прямоугольник.

person Mike Abdullah    schedule 16.05.2012