如何在firemonkey应用程序中绘制高质量的位图文本?
我的表单中有一个TImage
,名称为imgStory
。
我尝试了这段代码,但没有用,imgStory仍然显示为空白!
imgStory.Canvas.Stroke.Kind := TBrushKind.bkSolid;
imgStory.Canvas.StrokeThickness := 1;
imgStory.Canvas.Fill.Color := TAlphaColors.Red;
mRect.Create(100, 229, 300, 250);
imgStory.Canvas.FillText(mRect, 'Hello Text!', false, 100, [TFillTextFlag.ftRightToLeft],
TTextAlign.taCenter, TTextAlign.taCenter);
最佳答案
因此,它是一个Timage,需要先加载或创建位图,然后在位图上绘制。您还需要在绘图命令周围添加begincene和endcene。要从文件创建位图:
imgstory.bitmap.createfromfile(filename);
或者您可以创建一个空白的:
imgstory.bitmap.create(width,height);
然后该图变为:
imgstory.Bitmap.canvas.BeginScene();
imgStory.Bitmap.canvas.Stroke.Kind := TBrushKind.bkSolid;
imgStory.Bitmap.canvas.StrokeThickness := 1;
imgStory.bitmap.Canvas.Fill.Color := TAlphaColors.Red;
mRect.Create(100, 229, 300, 250);
imgStory.bitmap.Canvas.FillText(mRect, 'Hello Text!', false, 100, [TFillTextFlag.ftRightToLeft],
TTextAlign.taCenter, TTextAlign.taCenter);
imgstory.bitmap.Canvas.endscene