CGBitmapContextCreate: unsupported parameter combinationというエラーが出る

Objective-Cで、CGRect型のmyframeのサイズの画像を生成しようとするとエラーが起きた。

CGContextRef context = CGBitmapContextCreate(NULL, myframe.size.width, myframe.size.height,
                                             8, myframe.size.width * 4,
                                             colorSpace, kCGImageAlphaPremultipliedFirst);

起きたエラーの内容は以下のとおり。

<Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 32 bits/pixel; 3-component color space; kCGImageAlphaPremultipliedFirst; 806 bytes/row.

原因は、CGRect型のwidthやheightはCGFloat型なので、”myframe.size.width * 4″の箇所であるべき数値と異なる数値が計算されてしまっているようだった。
なので、このようにコードを書き換えたら解決した。

int width = myframe.size.width;
int height = myframe.size.height;
CGContextRef context = CGBitmapContextCreate(NULL, width, height,
                                             8, width * 4,
                                             colorSpace, kCGImageAlphaPremultipliedFirst);

本来はfloor()とかで数値を切り捨てるんだろうけど、とりあえずはこれで動いた。

[Xcode4,Objective-C++] OpenCV2.4.1をiOSで使う

画像認識や画像処理をするのに大変便利なオープンソースのライブラリOpenCVをiPhoneやiPadでも使えるようにするためのメモ。もっとスマートなやり方があると思うので、ご存知の方はコメント欄で教えてください。

続きを読む [Xcode4,Objective-C++] OpenCV2.4.1をiOSで使う

twitterのアイコンを東京アメッシュの画像にする

@akiroomのtwitterアカウントのアイコンに自分の実写画像を使っていますが、毒にも薬にもならないどうでもいい写真なので、どうせなら梅雨の時期に役に立つように東京アメッシュの画像にしようと思いました。コードをgithubにも公開してあるので、東京都水道局の許可がもらえた人はぜひ使ってみてください。

https://github.com/akiroom/twitter-amesh

ちなみに@akiroomのtwitterアイコンとして使ってもいいかどうか確認したところ却下されたため、私はtwitterアイコンを東京アメッシュにできません。悲しい。

続きを読む twitterのアイコンを東京アメッシュの画像にする

Lispアニメ占いのソースコードを公開しました。

Lispでアニメーション付きの姓名判断占いができるアプリのソースコードを公開しました。2010年春学期に慶應義塾大学湘南藤沢キャンパスの授業「記号処理プログラミング」の最終課題として作ったアプリケーションです。

以下のURLからダウンロードできます。
https://github.com/akiroom/LispUranai

JimiCityのソースコードを公開しました。


http://akiroom.github.com/JimiCity/

慶應義塾大学湘南藤沢キャンパスにて2010年春学期「オブジェクト指向プログラミング」という授業の最終課題として製作した、都市シミュレーターです。シティセンター効果などのシミュレーションを行い、ある程度自然な都市が生成されるようになっています。授業で指定された学校専用ライブラリを使用しています。

続きを読む JimiCityのソースコードを公開しました。

[jQuery対応] textareaのキャレット座標(XY座標)を取得するjavascriptライブラリを作った

textareaに表示されているキャレット位置(カーソル位置)の画面上のXY座標(ページの一番左上からの位置)を取得したいと思って検索したけれど、キャレットの文字列内の位置(何文字目)を取得するライブラリばかりで、画面上からの位置を取得できるライブラリがなかった。なので、テキストエリアを指定するだけで簡単に現在のキャレット位置の座標が分かるライブラリをつくった。サジェストを表示するWebアプリケーション(EclipseのようなIDEとか?)を作りたい時に便利。jQueryがなくても使えるし、jQueryがあっても使える。

githubにアップロードしているので、そちらも参照。
http://akiroom.github.com/caretposition.js/

以下、使い方の解説。

続きを読む [jQuery対応] textareaのキャレット座標(XY座標)を取得するjavascriptライブラリを作った

OpenCVでピクセルにアクセスする方法4つ

OpenCVではピクセルの値を取得したり設定したりする方法が何種類かある。自分用に、ピクセルへアクセスする手法のメモ。なお、本稿ではOpenCV2.4.0を扱う。

続きを読む OpenCVでピクセルにアクセスする方法4つ