Доступ к свойствам изображения с ImageIO
Q: Как я могу получить доступ к свойствам изображения, таким как высота изображения и ширина, DPI, данные EXIF, и т.д., изображения?
A: Как я могу получить доступ к свойствам изображения, таким как высота изображения и ширина, DPI, данные EXIF, и т.д., изображения?
Платформа ImageIO, представленная на Mac в Mac OS X 10.4 и на iOS в iOS4, обеспечивает возможности получить доступ к свойствам изображения, таким как размер, DPI, данные EXIF, и т.д. от изображения.
Получить доступ к свойствам изображения Вы:
создайте CGImageSourceRef для своего изображения.
получите копию словаря свойств изображения путем вызова
CGImageSourceCopyPropertiesAtIndex.получите доступ к значениям в словаре путем вызова CFDictionaryGetValue с ключом свойства, которым Вы интересуетесь. Доступные ключи расположены в Ссылке CGImageProperties.
Ниже пример того, как получить доступ к ширине и высоте изображения.
Перечисление 1 , Получающее доступ к ширине изображения и высоте.
CFURLRef url = CFURLCreateFromFileSystemRepresentation (kCFAllocatorDefault, (const UInt8 *)inputFileName, strlen(inputFileName), false);
if (!url) {
printf ("* * Bad input file path\n");
}
CGImageSourceRef myImageSource;
myImageSource = CGImageSourceCreateWithURL(url, NULL);
CFDictionaryRef imagePropertiesDictionary;
imagePropertiesDictionary = CGImageSourceCopyPropertiesAtIndex(myImageSource,0, NULL);
CFNumberRef imageWidth = (CFNumberRef)CFDictionaryGetValue(imagePropertiesDictionary, kCGImagePropertyPixelWidth);
CFNumberRef imageHeight = (CFNumberRef)CFDictionaryGetValue(imagePropertiesDictionary, kCGImagePropertyPixelHeight);
int w = 0;
int h = 0;
CFNumberGetValue(imageWidth, kCFNumberIntType, &w);
CFNumberGetValue(imageHeight, kCFNumberIntType, &h);
CFRelease(imagePropertiesDictionary);
CFRelease(myImageSource);
printf("Image Width: %d\n",w);
printf("Image Height: %d\n",h); |
Для получения дополнительной информации об использовании Платформы ImageIO посмотрите Используя Платформу ImageIO.
История версии документа
| Дата | Примечания |
|---|---|
| 31.08.2010 | Новый документ, описывающий, как использовать платформу ImageIO для доступа к свойствам изображения. |