Hatena::Groupiphone-dev

神様なんて信じないんだからね! このページをアンテナに追加 RSSフィード

2008-09-04

画像サイズもとれる(当たり前

09:23 | 画像サイズもとれる(当たり前 - 神様なんて信じないんだからね! を含むブックマーク はてなブックマーク - 画像サイズもとれる(当たり前 - 神様なんて信じないんだからね! 画像サイズもとれる(当たり前 - 神様なんて信じないんだからね! のブックマークコメント

CGImageGetWidth(image);

CGImageGetHeight(image);

[image size].width;

[image size].height;

になるのは喜ばしいことだ。

UIImage が描画するコンテキスト

09:19 | UIImage が描画するコンテキスト - 神様なんて信じないんだからね! を含むブックマーク はてなブックマーク - UIImage が描画するコンテキスト - 神様なんて信じないんだからね! UIImage が描画するコンテキスト - 神様なんて信じないんだからね! のブックマークコメント

は、要するにカレントのものなのかな?

[image drawAtPoint:CGPointMake(0,0)];

にはコンテキストを指定しないため、

そうなんじゃないかなぁ、という理解のままだが、

もう少し描いていけばわかるようになるだろう。

少なくとも

CGContextStrokeRect

などで描いたラインとの前後関係は発生するので、

理解は間違っていないという方向で進める。

UIImageのdraw系

| 08:34 | UIImageのdraw系 - 神様なんて信じないんだからね! を含むブックマーク はてなブックマーク - UIImageのdraw系 - 神様なんて信じないんだからね! UIImageのdraw系 - 神様なんて信じないんだからね! のブックマークコメント

id:jorakuraさんに教えていただいた通り、早速試してみた。

今まで、

CGImageRef background;
...
background = CGImageRetain([UIImage imageNamed:@"bg.png"].CGImage);
...
CGContextDrawImage(context, rect, background);

としていたものを、

UIImage* background;
...
background = [UIImage imageNamed:@"bg.png"];
...
[background drawAtPoint:CGPointMake(0,0)];

としたら、うまくいったよー!!!

すばらしー!

ついでに、pointの指定も正常化されていて、

CGPointMake(0,100);

とすると、座標系としては左上が原点として扱われるみたい。

すごい!

すごい!

ちなみにdrawInRectは、拡大縮小になる。

StretchBltみたいなもん。

LachesisLachesis2008/09/16 18:47TranslateやScaleを処理してもCGContextDrawImageの方が描画処理は速いようです。
32×32のgif画像を画面に150枚描画した時、CGContextDrawImageではギリギリ30fps出てましたが、
drawAtPointの場合は24fps(低い時は21fpsまで低下)でした。

あと、CGContextDrawImageだと画像内の一部分だけを切り抜く事が出来るので、ゲーム開発の際に
はCGContextDrawImageを使う方が良さそうです。

まぁQuartzで描画するよりもOpenGLで描画する方がもっと速いですが・・・

IsoparametricIsoparametric2008/09/17 09:19コメントありがとうございます。
なるほど……。
元々、タイマを使って処理を重くするとタッチイベントが起きなくなったり、
フレームレートが安定しない感じなので、
それは重要ですね。ありがとうございます。

そして、OpenGLは確かに……。
多忙にて触れていないのですが、
GLに乗り換えようか思案中です。

助かります。

最近のコメント
最近のトラックバック