1279191572 iPhone SDKで文字(NSSting)を画面に表示する際に、テキストを変形(台形)させて表示させたいのですが、可能であればその方法を教えてください。

テキストの変形とは「あいうえお」と言うテキストを台形の画像に表示した際に、その画像に収まるように表示したい。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/07/15 19:59:34
  • 終了:2010/07/22 20:00:02

回答(2件)

id:matane No.1

matane回答回数40ベストアンサー獲得回数22010/07/16 21:56:45

ポイント24pt

OpenGL ES で回転させればよいじゃん?と一瞬思ったのですが

OpenGL ES では文字列が描画出来ないみたいですね。


そこでテクスチャに文字列を描きだすという方法が下記URLに載っていたので

この方法で作ったテクスチャをOpenGL ESで表示して回転すれば良いと思います。

http://objective-audio.jp/2008/12/post-11.html



でも「OpenGL ES アプリケーション」で作ってしまうと

UIView とかのGUIのコンポーネントと共存できなくなってしまいますね。

(ってそんなことは分かってるよって感じですか?)

こういうのですね。

http://ameblo.jp/xcc/entry-10276958074.html



※ OpenGL ES アプリケーション作るなら「OpenGLで作るiPhone SDKゲームプログラミング」がオススメかなと思います。

http://amzn.to/b7kvlI

id:toiry

ありがとうございます。

OpenGLは使った事が無いので勉強になります。

ただ、質問には書いていませんでしたがUIViewとの共存によるテキストの変形を行いたいので、OpenGLは使えませんね。

2010/07/18 06:39:28
id:tanisatoru No.2

tanisatoru回答回数2ベストアンサー獲得回数02010/07/18 09:29:25

ポイント46pt

OpenGL 使わない方法で考えてみました。


(1) ここにあるように「オフスクリーン」に描画

 http://blog.livedoor.jp/tek_nishi/archives/2391152.html

(2) オフスクリーンに描画したものを CGAffineTransform か CATransform3D で変形して描画

 http://developer.apple.com/jp/documentation/Cocoa/Conceptual/Cor...


・・・

とやれば出来そうな気がするのですが、

具体的なコードが見つからないのと行列のことが良く分からなくてちょっと自信がなく。

でも他に答えてる人もいないし、参考になればと思って書きこみました。



あと参考になるかもしれないURLも貼っておきます(英語)。

ならなかったらごめんなさい。


iPhone image stretching (skew)

 http://stackoverflow.com/questions/2351586/iphone-image-stretchi...

 

How to distort a Sprite into a trapezoid?

 http://stackoverflow.com/questions/2095824/how-to-distort-a-spri...

id:toiry

オフスクリーンまではサンプルができましたが、CATransform3Dでどの様に変更すれば奥行きのある変形となるのかで悩んでいます。

しかし、方向性としてはこの方法が近い気がします。

ありがとうございます。

2010/07/21 19:34:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません