文書の過去の版を表示しています。
FBOを使う
FBOとは Frame Buffer Object の略で、通常画面に描画するものを一旦こちらのバッファに貯め込むこと、いいことがあるよ、という機能です。Frameとは、動画における1枚を指す言葉です。Bufferはなにか主たる処理をするために必要な一時記憶領域。Objectはモノをさし、描画した内容を1枚の画像として保存しておくことができます。具体的には.
- 描画している任意の部分を画像に保存したい。
- 描画しているある部分を切り出したい。
- 描画している内容を好きな位置に好きな大きさで描きたい
といったことが可能になります。では具体的にやってみましょう。
描画している任意の部分を画像に保存したい
例えば画面上にある画像を表示し、その上に任意の文字列を表示したサンプルがあるとします。画像自体はofImageで読み込みしているので、保存することは簡単にできますが、その上に描画されている任意テキストも一緒に、となるとちょっと難しくなります。例えばofに ofSaveScreen()なる関数が用意されているので、これを使えば画面にスクリーンショットを保存できますし、mac標準のスクリーンショット機能を使えば同様のことは可能です。一方で任意の場所に関して保存したい場合はfboが役に立ちます。以下のサンプルは画面上に sample.jpg を表示し、その上に “Hello ofFbo”が表示されています。これをsample.jpgのサイズでテキスト込で保存し直す場合のサンプルです。