0

请帮忙

目前希望通过调整原始大小来创建新的 NSImage,然后将其连同原始 EXIF 数据一起发送到 Web 服务。我可以调整图像大小没有问题,但 EXIF 数据不存在。根据Apple Docs,调用representationUsingTypepropertiesDict 是正确的:)

有人可以请我指出正确的方向吗,这是我目前的实现:

NSData *imageData = [resizedImage TIFFRepresentation]; //resized image is a my resized NSImage

NSBitmapImageRep * image = [[NSBitmapImageRep alloc] initWithData:imageData]; //NEED NSBitmapImageRepObject


NSMutableDictionary * propertiesDict = [[NSMutableDictionary alloc]init];
[propertiesDict setObject:[NSNumber numberWithInt:self.imageSizeSlider.floatValue] forKey:NSImageCompressionFactor];
[propertiesDict setObject:metaDataDict forKey:NSImageEXIFData];

NSData * shrunkImage = [image representationUsingType:NSJPEGFileType properties:propertiesDict];

如果我 writeToFile shrunkImage 对象,我会得到图像,但只有 exif 中的颜色配置文件?:( metaDataDict 对象具有我需要的所有 exif 并且可以通过 NSLogged 来显示。

非常感谢任何帮助。问候,李

4

1 回答 1

-1

您没有缩小图像,而是制作了比原始图像更小的新图像。您的新图像只有您提供的元数据。

阅读有关 NSImage 和 NSImageRep 的文档,并了解如何获取和设置 EXIF 数据。

于 2013-01-08T10:05:10.153 回答