2012-02-11 12 views
3

私はココアのMacアプリケーションで次のコードを使用してJPEGを作成します。作成したJPEGにsrgbカラープロファイルを埋め込むにはどうすればいいですか?埋め込みカラープロファイルsRGB in JPEGをココアのmac appから作成

NSImage* savedImage = [[NSImage alloc] initWithSize:NSMakeSize(600, 600)]; 
[savedImage lockFocus]; 
//draw here 
[savedImage unlockFocus]; 

NSBitmapImageRep* savedImageBitmapRep = [NSBitmapImageRep imageRepWithData:[savedImage TIFFRepresentationUsingCompression:NSTIFFCompressionNone factor:1.0]]; 

NSDictionary* properties = [NSDictionary dictionaryWithObjectsAndKeys: 
          [NSNumber numberWithFloat:1.0], kCGImageDestinationLossyCompressionQuality, 
          nil]; 

NSMutableData* imageData = [NSMutableData data]; 
CGImageDestinationRef imageDest = CGImageDestinationCreateWithData((CFMutableDataRef) imageData, kUTTypeJPEG, 1, NULL); 
CGImageDestinationAddImage(imageDest, [savedImageBitmapRep CGImage], (CFDictionaryRef) properties); 
CGImageDestinationFinalize(imageDest); 

// Do something with imageData 
if (![imageData writeToFile:[@"~/Desktop/test.jpg" stringByExpandingTildeInPath] atomically:NO]) 
    NSLog(@"Failed to write imageData"); 

答えて

0

これらの高水準APIでこれを行う方法はありません。私は必要なIFDをJPEGデータに自分で追加することでそれを完成させました。

+0

関連していませんが、イメージのバイト配列を持っている場合、jpgにカラープロファイル情報を挿入する方法に関するドキュメントへのリンクはありますか? – jishi

関連する問題