カメラから画像を取得していますが、それらが異なる方向にあることを考慮する必要があります。私が取った最初のアプローチは、このコード スニペットを使用して適切に回転した を作成することでしたUIImage
。を計算し、CGAffineTransform
を使用して画像を描画しCGContextDrawImage
ます。
ただし、この操作は完了するまでに 2 ~ 3 秒かかりました。
私が取った 2 番目のアプローチは、画像を回転させる必要がある度数と、画像を反転する必要があるかどうかを計算し、それらの回転を適用してからUIImage
. このアプローチにかかった時間はごくわずかです。
具体的にはCocos2Dを使っているので、どちらも を に変換しUIImage
て、CCTexture2D
そのテクスチャでスプライトを作ってから描いています。最初のケースでは、新しい を作成しUIImage
、回転していないCCSprite
. 2 つ目は、同じUIImage
ものを使用しましたが、回転したスプライトがありました。
2 番目のアプローチがなぜこれほど高速なのか? 最終的な結果は同じで、回転した画像になります。この結果を得るには、同じビットとバイトを同じ方法で操作する必要があるようです。