LoginSignup
3
4

More than 5 years have passed since last update.

【iOS】PHImageManagerを使って画像取得する時の注意点

Posted at

PHImageManagerのを使ってPhotosアプリから写真や動画のポスターフレームを取得する時自分が気づいたところをまとめます。

  • requestImageForAsset:
    • 動画を指定したら動画のポスターフレーム(大体先頭フレーム)を返すことができますが。注意しなければいけないのは取得した画像が普通の画像の色チャネルの順番と違って、取得したUIImageをそのままopenGLのシェーダで処理すると色がおかしくなります。自分の場合はRチャネルとBチャネルが逆なっていました。
    • iOSシミュレータでこのメソッドから画像を取得する場合、取得した画像のチャネルも同じように逆になっています。でも本体で同じコードを実行すると正しくなります。原因が不明で、シミュレータのバグかシミュレータのRGBと本体のRGBのフォーマットが違うかと推測します。

requestImageDataForAsset:を使ってNSDataを取得し、UIImageに変換すればうまく画像の色問題を解消できそう。但し、requestImageDataForAsset:は動画のポスターフレームを取得できないため、ポスターフレームの取得はAVFoundationを利用するしかないみたいです。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4