最近読んだ本 iPhoneデジカメプログラミング
カメラアプリを作る予定はなかったので2011年3月に発売されてからしばらく様子を見ていたが、そろそろ作ってみようと思ったのと、その他有用な情報がつまってそうだったので購入。
著者は仙台市のかたち開発の人で、昔からMac用のアプリケーションを作っていた人らしい。
- サンプルコードがあるページ ソフトバンク クリエイティブ:iPhoneデジカメプログラミング
- 著者のブログ
- 著者のTwitterアカウント @saruhidemi
本文中は、Xcode 4で説明は統一されている。Xcode 4は出たばかりでまだ移行していないが、それほど変わっていないだろうしこれからはXcode 4がメインになっていくだろうから悪くない選択だと思う。
- 第1章 iPhoneのカメラとグラフィック : iPhoneのカメラの性能、UIKit, Core Graphics, OpenGL ES の簡単な紹介。
- 第2章 画像処理の基礎 : 色とは、画像圧縮とは、など画像処理の基礎と、iPhone実機に転送する手順の簡単な紹介。
- 第3章 BasicCamera:カメラアプリケーションの作成 : ごく基本的なカメラアプリを作ってみる章。Xcode4の使い方の説明になっている。UIImagePickerControllerやUIImageWriteToSavedPhotosAlbum などがつかわれる。
- 第4章 DoodleCamera:プリクラ風カメラアプリケーションの作成 : カメラの画像の上に指で絵を描いて保存できるアプリ。Core Graphicsの機能が多く使われている。
- 第5章 FlickrMap:Flickr投稿アプリケーションの作成 : Flickr API を使って画像を投稿する。JSON Framework を使う。
- 第6章 FilterCamera:トイカメラアプリケーションの作成 : OpenCVのフィルタを使って、写真にさまざまなエフェクトをかける。
- 第7章 BookScan:書籍検索アプリケーションの作成 : オープンソースの ZBar を使ってバーコードをスキャンする。
- 第8章 ARLocalSearch:ARアプリケーションの作成 : iPhone ARkit と JSON Framework を使ってARアプリを作ってみる。
ざっと見ても分かるとおり、かなり実践的で盛りだくさんな内容だ。
4章はおもしろそうなので写経を始めてみた。そしていきなりさっぱりわからなくてはまる。
そして写経したらどうにもまともに動かずしばらく悩んでいたが、結局本に間違いが見つかった。(著者の方に確認した)
下記のコメントアウトしている2行はP.77にコメントアウトされずに存在しているが、そのままだと保存した画像にカメラからの画像が入らない。
ちゃんと CGContextTranslateCTM の意味が分かっていれば分かるのだが知らずに写経しているとこれははまる。
まだ正誤情報に載っていなかったのでここに書いておく。
+(CGImageRef)rotateImage:(CGImageRef)image mirrored:(BOOL)mirrored { int width = CGImageGetWidth(image); int height = CGImageGetHeight(image); CGContextRef context = [CGUtil newBlankBitmapContext:CGSizeMake(height, width)]; if(mirrored) { CGContextTranslateCTM(context, height, width); CGContextScaleCTM(context, -1.0, 1.0); } else { CGContextTranslateCTM(context, 0, width); } // CGContextTranslateCTM(context, height, width); // CGContextScaleCTM(context, -1.0, 1.0); CGContextRotateCTM(context, -M_PI/2); CGContextDrawImage(context, CGRectMake(0, 0, width, height), image); CGImageRef cgImage = CGBitmapContextCreateImage(context); CGContextRelease(context); return (CGImageRef)[(id)cgImage autorelease]; }
続きはまた後ほど。
iPhoneデジカメプログラミング | |
細谷 日出海
ソフトバンククリエイティブ 2011-03-18 |
関連記事
-
US Unlocked にてiPad 購入、無事入手
日本の発売まで待つか結構悩んだけれども、なるべく早く自作アプリの動作確認をしておきたいということもあ
-
Apple Watch 対応アプリようやくSubmit完了
ようやく Apple Watch 対応したアプリのSubmitが完了した。 とりあえずの対
-
Hanako 2013年 3/28号 スマホ・タブレット特集
Hanako でスマホ・タブレット特集があるというので買ってみた。 大部分が特集記事で気合いが入っ
-
Amazon Book Marker 取り下げ
昨日2010/01/16(土)の朝に米Amazonより、ライセンス規約に違反していると警告がきたため
-
必ず結果が出るブログ運営テクニック100 を読んでみた
ネタフルのコグレマサト氏と和洋風のするぷ氏のブログ本がTLで話題になっていたので買ってみた。 売れて
-
確かにきれいに貼れる パワーサポート アンチグレアフィルムセット for iPhone 4 PHK-02
会社の知り合いがiPhone 3GSに貼っていた保護シートがえらくきれいに貼れているのでメーカーを確
-
MacPeople 2012 5月号にはほしいガジェットがたくさん紹介されてる
定期購読しているMacPeopleの今月号(5月号)で面白い製品がたくさん紹介されていたのでメモを書
-
[iOS SDK] 実装ファイルでメンバ変数を宣言する
Xcode 4.x を導入したらいろいろ見慣れない記法があったので、いまさらながら一部まとめてみた。
-
タッチ! アメリカ地図 1.0.1 アップデート
タッチ! アメリカ地図 のアップデート(バージョン 1.0.1)を8月から5ヶ月ぶりにApp Sto
-
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告 うちにはこのメールは届いて