0

FireMonkey の球体コンポーネントの表面にテキストを書き込む方法はありますTextureMaterialSourceか?テキストでビットマップを作成し、そのテキストを

4

1 に答える 1

0

Firemonkey の 3D 側の内部を扱っていないので、表面に直接書き込む方法についてはわかりません。しかし、私はそのような解決策で途中まで行くことができます。

MakeScreenshot考えられる解決策の 1 つは、(結果を返す) 関数を使用するTBitmapことです。たとえば、aTEditと a TLabel(またはTText) をフォームに追加します。livebindings または古き良きlabel1.text := edit1.textコードのいずれかを使用して、表示したいテキストでスクリーンショット ソースを設定できます。

TSphereフォームに aと aがあると仮定しますTTextureMaterialSource。をフォームに追加TButtonし、OnClick イベントで次のようなものを使用します。

var
  Bmp : TBitmap;
  mstream : TMemorystream;
begin
  mstream := TMemorystream.Create;
  bmp := Label1.MakeScreenshot;
  bmp.SaveToStream(mstream);
  tex.Texture.LoadFromStream(mstream);
  mstream.Free;
end;

注: texはテクスチャ オブジェクトです。

簡単に書きましたが、うまく動作しませんでした (おそらく、テクスチャが読み込まれた後に、さらに多くの作業を行う必要があるためです)。どこから作業するかについての基本的なアイデアを提供する必要があります。

于 2013-04-03T00:06:10.353 に答える