最近読んだ本 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

関連記事

no image

[iPhone 開発本] iPhone Advanced Projects がおもしろい

Apressのページはこちら。公開されているサンプルコードは43MBもある。

記事を読む

iPad 発売 2010/04/03

日本時間4/3 17:00あたりに、Appleから iPad is here. メールが来てい

記事を読む

no image

世界に一枚だけのデジカメ年賀状2011

去年はせっかく買ったのでPhotoshopで年賀状を作成したが、今年は楽をして書店でデータをあさって

記事を読む

no image

[iPhone開発のネタ帳] loadView, viewDidLoad と viewDidUnload 2011/08/12

拙作のiPadアプリ タッチ!にほんちず や タッチ!ヨーロッパ地図でUIWebViewContro

記事を読む

iOS上のJavaScript実行環境Scriptableを使ってみた

iOS上の JavaScript実行環境であるScriptable を使ってみた。 Scr

記事を読む

no image

iPhone 3GS/4 で使える Bluetooth キーボード ELECOM TK-FBP017BK

フォローしている人のつぶやきで発見した記事で知ったキーボード。iPhone4ユーザー必携Blueto

記事を読む

no image

iPhone/iPad で教育

この本は面白そう。今後は教育分野での応用も増えていくだろう。 その時に、iPhone/iPad は教

記事を読む

[iOS SDK] 文字列をローカライズする際に使える awk スクリプト

iOSで文字列をローカライズする際に Localizable.strings ファイルに "ロ

記事を読む

iOS 13の新機能をざっくり把握する本 購入

https://twitter.com/shu223/status/11517528848553

記事を読む

no image

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

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

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Break Back 22巻まで読了

テニス漫画と言えば、ベイビーステップスだと思っていたし、全巻持ってい

TORRAS iPhone 16 Pro Max用ケース

自分はiPhoneはケースを付けない派で、iPhone 12

iPhone 16 Pro Max 購入

iPhone 16 Pro Max 256GB 189000

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

→もっと見る

PAGE TOP ↑