web-dev-qa-db-ja.com

NSDataおよびUIImage

UIImageからNSDataオブジェクトをロードしようとしていますが、サンプルコードはNSImageでしたが、同じでなければなりません。しかし、今、画像を読み込んでいますが、UIImage loading NSDataの問題をトラブルシューティングするのに最適なものは何なのでしょうか。

60
BlueDolphin

UIImageには-initWithData: 方法。ドキュメントから:「データパラメータのデータは、システムでサポートされている画像タイプのいずれかのファイル形式に一致するようにフォーマットする必要があります。」

44

私は以前UIImageJPEGRepresentation()を試しませんでしたが、UIImagePNGRepresentationは私には問題なく動作し、NSDataUIImageの間の変換は非常に簡単です:

NSData *imageData = UIImagePNGRepresentation(image);
UIImage *image=[UIImage imageWithData:imageData];
106
b123400

これを試して、画像をNSdataに変換します。

UIImage *img = [UIImage imageNamed:@"image.png"];
NSData *data1 = UIImagePNGRepresentation(img);
21
user810340

theDataは、既にデータを含んでいるNSDataオブジェクトでなければなりません。使用する前に、NSDataオブジェクトにファイルのロード/ダウンロードを行う必要があります。 theDataでNSLogを使用して検査し、有効なデータが含まれているかどうかを確認できます。

3
leonho