FMX 画像への文字入れができない

解決


かはい  2019-01-30 10:16:17  No: 49650  IP: 192.*.*.*

Delphi10.2  FMX
ネットの情報を参考に画像に文字を合成しようとしています
そこで以下のようなコードを書きました
しかしながら、test.jpgは表示されますが、文字が表示されません
皆様ご教授宜しくお願いいたします

procedure TForm2.FormCreate(Sender: TObject);
const
  Text = 'こんにちは';
var
  Layout: TTextLayout;
  bmp : TBitmap;
begin
  bmp :=TBitmap.CreateFromFile('test.jpg');
  Layout := TTextLayoutManager.DefaultTextLayout.Create;
  Layout.BeginUpdate;
  Layout.TopLeft := TPointF.Create(0, 0);
  Layout.Font.Size := 60;
  Layout.Color := TAlphaColorRec.Brown;
  Layout.Text := Text;
  Layout.EndUpdate;

  Layout.RenderLayout(bmp.Canvas);

  imagecontrol1.Bitmap := bmp;
end;
end.

編集 削除
ウォレス  2019-01-30 13:51:34  No: 49651  IP: 192.*.*.*

場所として正しいかわかりませんが
  bmp.Canvas.BeginScene();//****★
  Layout.RenderLayout(bmp.Canvas);
  ImageControl1.Bitmap := bmp;
  bmp.Canvas.endScene();//****★
で一応文字列描画されました。

編集 削除
かはい  2019-01-30 15:04:17  No: 49652  IP: 192.*.*.*

おぉ、文字が出ました!  ウォレスさんありがとうございます!!
ということは、
・RenderLayoutでbmp.Canvasを渡しても自動的に描画されない
・BeginScene()、EndScene()で描画の開始と終了を通知して描画してもらう
ということですね
今までVB/C#どっぷりだったので想像もつきませんでした
泥沼にはまっていたので本当に助かりました!!

編集 削除
かはい  2019-01-31 13:18:29  No: 49653  IP: 192.*.*.*

ウォレスさん、皆さん有難うございました

編集 削除