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

解決


かはい  2019-01-30 19:16:17  No: 49650

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 22:51:34  No: 49651

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


かはい  2019-01-31 00:04:17  No: 49652

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


かはい  2019-01-31 22:18:29  No: 49653

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


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加