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

関連記事

Apple Special Event 2019

https://japanese.engadget.com/2019/09/10/5-iphone

記事を読む

no image

WEB+DB PRESS 総集編〔Vol.1~72〕購入

71号のHeroku特集を買いにいったらすでに売っていなかったが1から72号までの総集編があったので

記事を読む

no image

iPadアプリ第2弾 タッチ!にほんちずHD 公開

自分の娘用アプリ第2弾が今朝2011/06/17公開されました。 今回は日本地図を学習するアプ

記事を読む

KORG USB MIDIコントローラーnanoPAD2購入

2016年あけましておめでとうございます。以前から気になっていたKORG nanoPAD2 がタイム

記事を読む

no image

自作iPhoneアプリ いろいろレビュー依頼

アプリ制作日誌 #app_24: iPhoneアプリのレビューを、寄稿・依頼できるサイトまとめ。 と

記事を読む

これは楽しそう。ズボンでドラム演奏 DRUMPANTS

こんな楽しげなデバイスが2014年にKickstarterにでていたらしい。 新しい楽器?ドラムを

記事を読む

no image

Pebble E-Paper Watch のお届け先住所入力ページが用意された

4月にKickstarterで出資した、Pebble E-Paper Watch を作ってい

記事を読む

EverLearn 2.2.1 を公開しました

自作英単語学習アプリ EverLearn 2.2.1を公開しました。 ユーザの方から

記事を読む

Apple Developer Program更新2019

今年も更新。税別 11800円だった。 2009年から継続しているようだ。もう11回

記事を読む

no image

iPhone 3G/3GS用ホルダーケース レイアウト RT-P2LC3 カラビナつき

カバンを持っていないときに、iPhoneをジーパンのポケットに入れておくのはちょっと不安。 なの

記事を読む

Message

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

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

Apple Developer Program更新 2024

今年も更新した。 昨年はブログに記録し忘れたらしい。 今

ポモドーロテクニック用物理タイマーなら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

→もっと見る

PAGE TOP ↑