iPhoneアプリ開発 -同じ画像を2度以上画像処理した際に起こるエラーの対処-

公開日: : iPhone, IT


 起きた現象

(1) UIImageのデータを元にピクセルの値を色々といじって画像処理。
(2) 同じUIImageで再度、画像処理しようとするとEXC_BAD_ACCESS

上記のように1度画像加工した画像に対して、再度画像処理をしようとすると、EXC_BAD_ACCESSが発生します。

 対処内容

元々のコードは以下の様な感じです。

    CGDataProviderRef dataProvider = CGImageGetDataProvider([image CGImage]);
    CFDataRef data                 = CGDataProviderCopyData(dataProvider);
    int *originalPixels            = (int*)CFDataGetBytePtr(data);         //(1)
    //画像処理//
    [originalPixelsの値をいじりまくり]
    //以下略
    //画像処理した値から再度UIImageを合成
    //使い終わったものはrelease

どうも(1)がダメっぽい。
以下のようにMutableにすれば問題ないようです。

    CFDataRef data                 = CGDataProviderCopyData(dataProvider);
    CFMutableDataRef mutableData   = CFDataCreateMutableCopy(0, 0, data);
    int *originalPixels            = (int*)CFDataGetMutableBytePtr(mutableData);

※mutableDataは使い終わったらCFReleaseする必要があります。

参考

広告

関連記事

no image

iPhoneアプリ開発 - touchesBeganとUITapGestureRecognizerの差(タッチとタップ) –

「画面にある画像を移動させたい」とか、「画面に線を書きたい」ということがあるかと思います。 ぐぐると

記事を読む

スクリーンショット 2012-12-06 15.34.43

iPhoneアプリ開発 -端末がネットワークにつながっているかどうか知りたい-

* やりたいこと アプリがネットに繋がっていなければアラートボックスを表示させたい。 ネットに繋

記事を読む

no image

iPhoneアプリ開発 −フォントの変更−

一言:最近、iPhoneアプリの開発のためMacばかり触ってて、Windowsに戻ると混乱します。

記事を読む

no image

Selenium2.0でUIテスト(2) -Rubyでやってみよう-

前回は、Selenium + PHPを試しました。 今後はRubyでやってみようということでSele

記事を読む

iPhoneアプリにGoogle Analyticsを入れてみる -Google Analytics SDK for iOS導入-

* 導入経緯 iPhoneアプリをリリースして、を使って「ランキング」や「ダウンロード数」は適宜チ

記事を読む

no image

Androidアプリ開発 -リストをタッチして別ページ表示-

* 前提 -「設定画面」で各種項目を設定。 --Activity:ConfigActivity --

記事を読む

no image

iPhoneアプリ開発 -UIScrollViewで画像を拡大・縮小-

* やりたいこと UIScrollViewでピンチアウト・インして上に乗っている画像を拡大・縮小した

記事を読む

構成

定期的にデータ取得のためにCakePHP1.3でシェル機能を利用

定期的にデータを取得する行為をするために、はじめてシェル機能を使ってみたのでメモ。 * ス

記事を読む

SnapCrab_NoName_2012-12-1_14-44-53_No-00

アプリのためにFacebookページ作成 -会社のメールアドレスで管理する方法-

アプリを作ると、色々と宣伝をしたくなります。 宣伝の方法は色々ありますが、今回はFacebookペ

記事を読む

NEC_0882

Facebookで名刺を作ってみた -Mooの名刺作成サービス-

1ヶ月~半月くらい前に話題になっていたMooの名刺作成サービス。 話題になっていた時期に注文した名

記事を読む

広告

Message

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑