最近読んだ本 iPhoneデジカメプログラミング

公開日: : iPad, iPhone, , ,

カメラアプリを作る予定はなかったので2011年3月に発売されてからしばらく様子を見ていたが、そろそろ作ってみようと思ったのと、その他有用な情報がつまってそうだったので購入。
著者は仙台市のかたち開発の人で、昔からMac用のアプリケーションを作っていた人らしい。

本文中は、Xcode 4で説明は統一されている。Xcode 4は出たばかりでまだ移行していないが、それほど変わっていないだろうしこれからはXcode 4がメインになっていくだろうから悪くない選択だと思う。

  • 第1章 iPhoneのカメラとグラフィック : iPhoneのカメラの性能、UIKit, Core Graphics, OpenGL ES の簡単な紹介。
  • 第2章 画像処理の基礎 : 色とは、画像圧縮とは、など画像処理の基礎と、iPhone実機に転送する手順の簡単な紹介。
  • 第3章 BasicCamera:カメラアプリケーションの作成 : ごく基本的なカメラアプリを作ってみる章。Xcode4の使い方の説明になっている。UIImagePickerControllerUIImageWriteToSavedPhotosAlbum などがつかわれる。
  • 第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デジカメプログラミング
iPhoneデジカメプログラミング 細谷 日出海

ソフトバンククリエイティブ 2011-03-18
売り上げランキング : 22058

Amazonで詳しく見る by G-Tools

関連記事

EverLearn 1.9.0 に音声認識機能を追加しました

EverLearn 1.9.0 にて音声認識機能を追加しました。ホーム画面から、マイクボタンを押して

記事を読む

MacFan 2019年11月号購入

毎年この時期は必ず Mac雑誌を買っている。発売されたばかりのiPhone情報が特集されるためだ。

記事を読む

新アプリ「ドラムちゃん」を公開しました

2015年から作りはじめた iPad専用 ドラム譜学習アプリ ドラムちゃん を本日 2017/01/

記事を読む

no image

[iPhone SDK] sqlite 学習中。FMDB を知る。

SQLite入門 第2版西沢 直木 翔泳社 2009-05-19売り上げランキング : 17582

記事を読む

Mac Fan 2020年 6月号

長女のiPhone 6 の画面がバキバキに割れているので、iPhone SE を購入した。

記事を読む

おんぷちゃん for iPad 2.0.0リリース

あけましておめでとうございます。今年もよろしくお願いします。 2022年8月にはだいたい完成

記事を読む

no image

[iPhone SDK] 処理を遅延実行する方法

処理を少し遅らせて実行したいときがたまにある。 そういうときには、NSObjectの - (voi

記事を読む

no image

初 iPadアプリ おんぷちゃん for iPad 公開

iPadグランドオープニングに間に合わせるためしばらく格闘していたがようやく おんぷちゃん for

記事を読む

no image

企業戦略としてのデザイン

Apple関連なのでこっちのブログに書いてみる。 「アップルはいかにして顧客の心をつかんだか」

記事を読む

no image

Xcode4 の初Submit作業ではまる 2011/07/11

昨夜、タッチ! にほんちずHDの次のアプリを検証していて、iPadを回転させるとアプリが異常終了して

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ポモドーロテクニック用物理タイマーならTime Timer

会社ではなかなか自由に時間を使えないが、家で読書や作業をする

DELL 32インチディスプレイ U3223QE 購入

Dell U3223QE は解像度 3840x216

WWDC 2023 Vision Pro発表

2023/6/5 (日本時間 2023/06/06 2AM)のWWD

M1 MacBook Air を Venturaにアップデートする

M1 MacBook Air を macOS Montere

iOS16でaurioTouch の inBufferFramesが1になる

https://developer.apple.com/librar

→もっと見る

PAGE TOP ↑