SBクリエイティブ

正誤情報

【正誤情報】 『iPhoneデジカメプログラミング』

2011.05.17
対象書籍
iPhoneデジカメプログラミング

【正誤情報】 『iPhoneデジカメプログラミング』

 本書に以下の誤りがございました。

第4章
 p.76~77にかけて掲載してあるLIST 4-6について、p.77の6行目以降の2行は不要でした。不要な行は次のものです。

—————————————
 CGContextTranslateCTM(context, height, width);
 CGContextScaleCTM( context,-1.0,1.0 );
—————————————

 この結果、正しいLIST 4-6は次のようになります。

正:LIST 4-6
—————————————
// 画像を90度回転させたCGImageオブジェクトを作成するメソッド
+(CGImageRef)rotateImage:(CGImageRef)image mirrored:(BOOL)mirrored {
 int width = CGImageGetWidth(image);
 int height = CGImageGetHeight(image);
 // CGBtimapCotnextオブジェクトを作成。90度回転させるので、結果的に幅と高さを入れ替える
 CGContextRef context = [CGUtil newBlankBitmapContext:CGSizeMake(
                                        height, width)];
 if (mirrored) {
   // 前面カメラの場合は、左右反転
   CGContextTranslateCTM(context, height, width);
   CGContextScaleCTM(context,-1.0,1.0);
 } else {
   CGContextTranslateCTM(context, 0, width);
 }
 CGContextRotateCTM(context, -M_PI/2);
 // 画像を描画
 CGContextDrawImage(context, CGRectMake(0, 0, width, height), image);
 // CGBitmapContextからCGImageオブジェクトを作成
 CGImageRef cgImage = CGBitmapContextCreateImage(context);
 CGContextRelease(context);
 return (CGImageRef)[(id)cgImage autorelease];
}
—————————————
 サポートページからダウンロードできるサンプルには、この誤りはありませんでした。

 以上、ご利用者の方にはご迷惑をおかけしました。お詫びして訂正いたします。

 

【追加情報】

 iOS 4.3からarmv7用のビルド時にリンクするユニバーサルバイナリにもarmv7のバイナリが入っていないとエラーになるようです。今回は、OpenCVのバイナリがそれにあたります。ビルドの設定でarmv6だけをターゲットにすれば問題ありません。この修正を行ったサンプルをDMG形式で提供しますので、必要に応じてご利用ください。
(978-4-7973-6232-9-02-iPhone-degicame-programming-4iOS4_3.dmg)

この記事をシェアする