0

キャプチャした画像をUIImageview

  • 余分なカスタム設定はありません
  • 変換なし
  • サイズ変更なし、何もありません

次に、画像ビューが回転した画像を返す理由。

を使用して解決策を見つけました

UIImage* rotatedImage = [UIImage imageWithCGImage:image.CGImage 
                                 scale:1.0 
                                 orientation:UIImageOrientationRight];

今、私は元の画像を取得します。しかし、私はその理由を知りたいだけですautomatic rotated image.

注: これは、画像がカムからキャプチャされた場合にのみ発生します。ギャラリーから画像を選択すると、回転せず、適切に見えます。

どんな助けでも大歓迎です!!

4

1 に答える 1

0

これは、カメラによって最終的に追加される追加の「撮影情報」に依存する可能性があります。たとえば、iPhone をポートレート モード (「垂直」) で撮影すると、画像は元のサイズ (2048x1536) のままですが、「方向」撮影情報は「90 度回転」に設定されます。おそらく、UIImageView は撮影情報を読み取らず、画像を回転した「生」として表示します (これは、センサーによって物理的に撮影された画像です)。

これを考慮してください: iPhone を回転させると、物理センサーも回転し、iPhone は「人工的に」表示する画像が正しく表示されます。

これを確認するには、iPhone で 2 枚の写真を両方の向きで撮影し、iPhone を Mac に接続して「イメージ キャプチャ」アプリを起動します。2 つの写真は同じサイズですが、1 つが垂直方向に回転されていることがわかります。プレビューで代わりに撮影情報を確認できます。

「ギャラリーから撮影した写真」に関しては、ギャラリーがあなたのためにオリエンテーションを行い、生の画像ではなく、オリエンテーションが適用された後の画像を返すと思います(コードで行ったのとまったく同じです)。

于 2013-05-29T09:49:04.083 に答える