開発手記140811
Trace It!
エフェクトをかける際に、ドラッグに画像が追従するようにした

タップとともに十字のボタンが表示されるので、ドラッグしたポイントでエフェクトがかかるとわかる
◆ハマったポイント
エフェクトをかける際にUIImageViewに新しい画像を指定しているのだが
画像が勝手に90度回転されて引き延ばして表示されてしまう。
なんこれ

過去にカメラアプリを作成した時にも同じ様な状況があった
UIImageからCGImageを取り出した時に画像の上下情報が無くなるので、この様なことになる・・・と思っていたのだが・・・
過去に参考にしたURL
iPhoneカメラで撮影した画像のUIImageからCGImageを取り出すと90度傾く問題の解決法
http://blog.katty.in/105
今回は連続して使用するメソッド内での話なので
上記のdrawInRectで再度imageOrientationを指定する方法はメモリを食い過ぎる
しかも、今回は本体デバイスのorientationによって画像の方向が変わる
上記方法で解決しない
結論としては
エフェクトとして使用しているGPUImageのimageFromCurrentFramebufferから取得したUIImageが、回転情報を持っていない
UIImageのimageWithCGImageで上下の情報を指定することで解決。
// 取得した画像を回転情報を持たせてセットする
UIImage *resultImage = [UIImage imageWithCGImage:[contrastFilter imageFromCurrentFramebuffer].CGImage scale:1.0 orientation:UIImageOrientationUp];
[contrastImageView setImage:resultImage];
他
・アイコンを作成

・画像のエフェクト関係の動作をFIX
エフェクト毎に複数のUIImageViewを用意する事にした。
・メモリ関係の調整
・エフェクト動作のリファクタリング
残り作業
・チュートリアル
・設定画面
エフェクトをかける際に、ドラッグに画像が追従するようにした

タップとともに十字のボタンが表示されるので、ドラッグしたポイントでエフェクトがかかるとわかる
◆ハマったポイント
エフェクトをかける際にUIImageViewに新しい画像を指定しているのだが
画像が勝手に90度回転されて引き延ばして表示されてしまう。
なんこれ

過去にカメラアプリを作成した時にも同じ様な状況があった
UIImageからCGImageを取り出した時に画像の上下情報が無くなるので、この様なことになる・・・と思っていたのだが・・・
過去に参考にしたURL
iPhoneカメラで撮影した画像のUIImageからCGImageを取り出すと90度傾く問題の解決法
http://blog.katty.in/105
今回は連続して使用するメソッド内での話なので
上記のdrawInRectで再度imageOrientationを指定する方法はメモリを食い過ぎる
しかも、今回は本体デバイスのorientationによって画像の方向が変わる
上記方法で解決しない
結論としては
エフェクトとして使用しているGPUImageのimageFromCurrentFramebufferから取得したUIImageが、回転情報を持っていない
UIImageのimageWithCGImageで上下の情報を指定することで解決。
// 取得した画像を回転情報を持たせてセットする
UIImage *resultImage = [UIImage imageWithCGImage:[contrastFilter imageFromCurrentFramebuffer].CGImage scale:1.0 orientation:UIImageOrientationUp];
[contrastImageView setImage:resultImage];
他
・アイコンを作成

・画像のエフェクト関係の動作をFIX
エフェクト毎に複数のUIImageViewを用意する事にした。
・メモリ関係の調整
・エフェクト動作のリファクタリング
残り作業
・チュートリアル
・設定画面