0

助けてください

現在、元のサイズを変更して新しい NSImage を作成し、元の EXIF データと共に Web サービスに送信することを検討しています。問題なく画像のサイズを変更できますが、EXIF データは存在しません。への呼び出しrepresentationUsingTypeは、Apple Docs に従って正しい propertiesDict を取り込みます:)

誰かが私を正しい方向に向けてください。これが私の現在の実装です:

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];

shrunkImage オブジェクトを writeToFile すると、画像が取得されますが、exif にはカラー プロファイルしかありませんか? :( metaDataDict オブジェクトには必要なすべての exif が含まれており、それを示すために NSLogged にすることができます。

どんな助けでも大歓迎です。よろしく、リー

4

1 に答える 1

-1

画像を縮小していません。元の画像よりも小さい新しい画像を作成しました。新しいイメージには、指定したメタデータのみが含まれます。

NSImage と NSImageRep のドキュメントを読み、EXIF データの取得方法と設定方法を調べてください。

于 2013-01-08T10:05:10.153 に答える