12

フォト アルバムに gif 画像があります。を使用してその画像を選択すると、保存するためUIImagePickerControllerに画像を変換する必要があります。NSData

以前、私が使用した

NSData *thumbData = UIImageJPEGRepresentation(thumbnail, 0.5);

ただし、gif 画像では機能しません。thumbDataゼロになります。

  1. どうすればNSDatagif画像から取得できますか?

  2. 特別な処理が必要な gif 画像であることをどのように知ることができますか?

4

5 に答える 5

11

ここで重要なのは、GIF ファイルまたは URL ダウンロードを UIImage にするのではなく、NSData に直接保存することです。UIImage をバイパスすると、GIF ファイルはアニメーションを維持できます。

GIF ファイルを NSData に変換するコードを次に示します。

NSString *filePath = [[NSBundle mainBundle] pathForResource: @"gifFileName" ofType: @"gif"];

NSData *gifData = [NSData dataWithContentsOfFile: filePath];

しかし、正直なところ、GIF をまったく使用しないことを検討する必要があります。

于 2013-05-25T20:09:22.410 に答える
4

迅速

GIFをアセットに含めることはできません。

let path = Bundle.main.path(forResource: "loader", ofType: "gif")!
let data = try! Data(contentsOf: URL(fileURLWithPath: path))
return data
于 2018-03-20T19:08:27.720 に答える
1

変換する .GIF ファイルへのコードは NSdata で変換できます -

NSString *pathForFile = [[NSBundle mainBundle] pathForResource: @"myGif" ofType: @"gif"];

NSData *dataOfGif = [NSData dataWithContentsOfFile: pathForFile];

NSLog(@"Data: %@", dataOfGif);
于 2013-05-25T13:00:58.930 に答える