Android 在ImageView中绘制文本是否无效?Delphi XE8安卓
在ImageView中绘制文本是否无效?Delphi XE8安卓Android 在ImageView中绘制文本是否无效?Delphi XE8安卓,android,delphi,delphi-xe7,delphi-xe8,Android,Delphi,Delphi Xe7,Delphi Xe8,在ImageView中绘制文本是否无效?Delphi XE8安卓 procedure TForm1.Button1Click(Sender: TObject); var Rect: TRectF; begin with ImageViewer1.Bitmap do begin SetSize(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height)); Clear(TAlphaC
procedure TForm1.Button1Click(Sender: TObject);
var
Rect: TRectF;
begin
with ImageViewer1.Bitmap do
begin
SetSize(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
Clear(TAlphaColors.White);
Canvas.BeginScene();
Canvas.Stroke.Kind := TBrushKind.Solid;
Canvas.Fill.Color := TAlphaColors.Black;
Canvas.Font.Size := 60;
Rect.Create(0, 0, Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
Canvas.FillText(Rect,
Edit1.Text,
False,
100,
[],
TTextAlign.Center,
TTextAlign.Center);
Canvas.EndScene();
end;
end;
生成的图像较小,不绘制所示的文本。但是,如果您绘制给定的文本,则会生成Windows图像。这是非常罕见的,因为在所有平台中都应该工作相同,但在本例中并非如此。TImage和TImageView经过测试,在Android上不起作用,它只在Windows下起作用。这可能是因为需要创建分配给ImageView的位图,然后才能使用ImageViewer.bitmap.Canvas
ImageViewer1.Bitmap := TBitmap.Create(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
您可能已经在代码的其他地方创建了这个ImageViewer.bitmap(在您的按钮单击事件之前),但是您的问题和代码很模糊,无法知道这一点。如果是这样,这个问题将需要更多的信息
i、 e.守则将是:
procedure TForm1.Button1Click(Sender: TObject);
var Rect: TRectF;
begin
ImageViewer1.Bitmap := TBitmap.Create(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
with ImageViewer1.Bitmap do
begin
....etc
这可能是因为在使用ImageViewer.bitmap.Canvas之前,需要创建分配给ImageView的位图
ImageViewer1.Bitmap := TBitmap.Create(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
您可能已经在代码的其他地方创建了这个ImageViewer.bitmap(在您的按钮单击事件之前),但是您的问题和代码很模糊,无法知道这一点。如果是这样,这个问题将需要更多的信息
i、 e.守则将是:
procedure TForm1.Button1Click(Sender: TObject);
var Rect: TRectF;
begin
ImageViewer1.Bitmap := TBitmap.Create(Trunc(ImageViewer1.Width), Trunc(ImageViewer1.Height));
with ImageViewer1.Bitmap do
begin
....etc