1

iOSフォトライブラリからCMYK画像を読み込みたいです。

CMYK ファイルのサンプル このファイルを Safari で開き、長押ししてカメラロールに保存します。

次に、ALAsset ライブラリを使用して UIImageView に表示します

[library assetForURL:asset resultBlock:^(ALAsset *asset) {
  UIImage* image = [UIImage imageWithCGImage:asset.thumbnail];
  imageView.image = image;
} failureBlock:^(NSError *error) {
  imageView.image = nil;
}] ;

ほとんどすべての画像が黒くなり、色情報が失われます。私も試してみました

asset.defaultRepresentation.fullScreenImage;
asset.defaultRepresentation.fullResolutionImage;

そして、すべてが黒いイメージになりました。

また、このようなバイトから読み取ろうとしました。

ALAssetRepresentation* representation = [asset defaultRepresentation];
uint8_t *buffer = (Byte*)malloc(representation.size);
[representation getBytes:buffer fromOffset: 0.0  length:representation.size error:nil];
NSData *data = [[NSData alloc] initWithBytesNoCopy:buffer length:representation.size freeWhenDone:YES];
UIImage* image = [UIImage imageWithData:data];

これはフル解像度の画像も表示しますが、黒だけも表示します...

興味深いことに、Web ディレクトリから UIImage にデータを取得すると、機能します。

    self.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.plaveb.com/blog/Upload/FCKeditor/image/cmyk-encoded-image.jpg"]]];

これにより、カラフルなイメージが得られました。私の推測では、CMYK 画像をカメラ ロールに保存すると、色情報が失われ、カラフルな画像を取得できなくなります。

質問は「カメラロールのCMYK画像からカラフルな画像を取得することは可能ですか?」

iOS 6.0.1 および 5.0、5.1 でテストしました。6.0.1 では、サムネイルまたはフルスクリーン イメージのいずれかで、カラフルなイメージを表示できません。奇妙なことはiOS 5.0、5.1にあります。サムネイル画像のみカラフルに表示できましたが、フルスクリーン画像では表示できませんでした。

どんなアイデアでも大歓迎です!!

4

0 に答える 0