Einzelnen Beitrag anzeigen

Benutzerbild von nano
nano

Registriert seit: 22. Aug 2005
Ort: Deggendorf
51 Beiträge
 
Delphi 7 Enterprise
 
#1

graphics32: Liniendicke präzise einstellen??

  Alt 18. Sep 2005, 21:02
Hallo!

Da es bei graphics32 keine analoge Lösung zu Pen.Width gibt, hab ich mich entschlossen es über die Polygone zu lösen:

Delphi-Quellcode:
// 1) Erstellt Pinsel und Polygone zur Demonstration der aktuellen Einstellungen
procedure TMain.ErstellePinsel;
begin
  PenSettings.Color:= clBlack32;
  PenSettings.Width:= 1;

  PinselDemo.SetupBitmap;
  P:= TPolygon32.Create;
  P.Add(FixedPoint(5, 15));
  P.Add(FixedPoint(145, 15));

end;

// 2) Aktualisiert die Pinseleinstellungen in dem zugehörigen Menü
procedure TMain.PinselDemoAktualisieren;
begin
  Outline:= P.Outline;
  Outline:= Outline.Grow(Fixed(PinselSize.Position / 10),0.99);
  Outline.FillMode:= pfWinding;

  PinselDemo.Bitmap.BeginUpdate;
  PinselDemo.Bitmap.Clear(clWhite32);

  Outline.DrawFill(PinselDemo.Bitmap, SetAlpha(clBlack32, 255));

  PinselDemo.Bitmap.EndUpdate;
  PinselDemo.Refresh;
end;
Das Eigentliche Problem besteht in der Zeile:

Outline:= Outline.Grow(Fixed(PinselSize.Position / 10),0.99);

Ich möchte die Dicke der Linie auf genaue Werte einstellen können, z.B. 7 Pixel... Leider kann ich mit dem TFixed Format überhaupt nicht umgehen. Was muss ich als Parameter eingeben um auf meine 7 Pixel zu kommen??
i n f l i c t e d . d e
  Mit Zitat antworten Zitat