Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#1

[Gelöst] "Scharfes" Zeichnen mit Firemonkey

  Alt 17. Okt 2013, 19:51
Ich habe ein Problem beim Zeichnen auf einen FMX-Canvas. Das sieht alles total pixelig und verschwommen aus. Ich zeichne aber mit den gleichen Befehlen, die Firemonkey intern dafür verwendet. Ich habe sogar die Objekteigenschaften im Debugger verglichen. Bis auf die Farben ist alles identisch. Was fehlt da?

Beispiel für ein FMX TEllipse, das scharf gezeichnet wird:
Delphi-Quellcode:
  Cursor := TEllipse.Create(ImageControl1);
  Cursor.Visible := False;
  Cursor.HitTest := False;
  Cursor.Width := Target.BulletWidth * Painter.Scale;
  Cursor.Height := Cursor.Width;
  Cursor.Parent := ImageControl1;
  Cursor.StrokeThickness := 1;
Beispiel für eine selbst gezeichnete Ellipse, die ist unscharf. Wie übrigens auch die Textausgaben:
Delphi-Quellcode:
  FBitmap.Canvas.BeginScene;
  FBitmap.Canvas.StrokeThickness := 1; //FScale;
  FBitmap.Canvas.Fill.Kind := TBrushKind.bkSolid;
  FBitmap.Canvas.Stroke.Kind := TBrushKind.bkSolid;
  FBitmap.Canvas.Fill.Color := FTarget.BackColor;
  FBitmap.Canvas.Stroke.Color := FTarget.Color;
  r := RectF(FScale*(Ring-1)*FTarget.RingWidth+1,
             0,
             FScale* (FTarget.Width-(Ring-1)*FTarget.RingWidth)-1,
             0);
  r.Top := r.Left;
  r.Bottom := r.Right;

  FBitmap.Canvas.FillEllipse(r, 1);
  FBitmap.Canvas.DrawEllipse(r, 1);
  FBitmap.Canvas.EndScene;
Angehängte Grafiken
  
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all

Geändert von Union (17. Okt 2013 um 21:18 Uhr)
  Mit Zitat antworten Zitat