【问题标题】:Firemonkey: Image.Bitmap.DrawLine not visible on ipadFiremonkey:Image.Bitmap.DrawLine 在 ipad 上不可见
【发布时间】:2012-01-07 16:52:39
【问题描述】:

我正在为 IOS 使用 DelphiXE2 firemonkey 构建一个应用程序。如果我在 Xcode IPAD 模拟器中的 mac 上进行测试,我会看到该按钮。但是,当我单击按钮时,看不到任何线条。为什么?

代码:(在窗体上一个按钮和一个图像)

unit Unit3;

interface

uses
  SysUtils, Types, UITypes, Classes, Variants, FMX_Types, FMX_Controls, FMX_Forms,
  FMX_Dialogs, FMX_Objects;

type
  TForm3 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.lfm}

procedure TForm3.Button1Click(Sender: TObject);
var pt0,pt1 : TPointF;
begin
  pt0.Create(0,0);
  pt1.Create(200,200);
  with Image1.Bitmap do begin
    Canvas.Stroke.Color := $ffff0000 ;  // Red
    Canvas.BeginScene;

    Canvas.DrawLine(pt0,pt1,1);
    BitmapChanged;  // without this, no output
    Canvas.EndScene;
  end;

end;


procedure TForm3.FormCreate(Sender: TObject);
begin
  Image1.Bitmap := TBitmap.Create(200,200);
end;
end.

【问题讨论】:

    标签: delphi delphi-xe2 firemonkey


    【解决方案1】:

    我认为应该是:

    pt0 := TPointF.Create(0, 0);
    

    【讨论】:

    • 同样的问题。没有线出现。
    【解决方案2】:

    试试这个

      pt0.X:=X;
      pt0.Y:=Y;
      pt1.X:=X+4;
      pt1.Y:=Y+4;
      with Image1.Bitmap do begin
        Canvas.Stroke.Color := $ffff0000 ;  // Red
        Canvas.Stroke.Kind := TBrushKind.bkSolid;
        Canvas.StrokeThickness:= 10;
        Canvas.BeginScene;
        Canvas.DrawLine(pt0,pt1,100);
        Canvas.EndScene;
      end;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 2023-03-29
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2020-03-16
      相关资源
      最近更新 更多