Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.914 Beiträge
 
Delphi 12 Athens
 
#7

AW: Beispiele für TPathData

  Alt 21. Jul 2022, 11:24
Man kann sowas auch relativ komfortabel programmieren:
Delphi-Quellcode:
function MakePathData: string;
var
  pd: TPathData;
begin
  pd := TPathData.Create;
  try
    pd.AddRectangle(TRectF.Create(0, 0, 24, 24), 0, 0, AllCorners, TCornerType.InnerLine);
    pd.MoveTo(TPointF.Create(14, 7));
    pd.LineTo(TPointF.Create( 9, 12));
    pd.LineTo(TPointF.Create(14, 17));
    pd.VLineTo(7);
    pd.ClosePath;
    Result := pd.Data;
  finally
    pd.Free;
  end;
end;
Das stimmt, ich finde es aber bei komplexeren Shapes in der Regel viel effektiver das zu "zeichnen" z.B. in InkScape,
und dann als PathData-Text zu konvertieren.
Der Vorteil ist auch das man es dann in Inkskep direkt "sieht".

Zum Beispiel auch hiermit einfach in einem Online-Editor

Das ...
Zitat:
M19.5,12.2l-7.7,7.7V26c0,0.7,0.6,1.2,1.2,1.2h4.6v-5.2c0-0.3,0.3-0.6,0.6-0.6h2.5c0.3,0,0.6,0.3,0.6,0.6v5.2h4.6c0.7,0,1.2-0.6,1.2-1.2v-6.1L19.5,12.2L19.5,12.2z M20.2,9.1L29,18c0.2,0.2,0.3,0.4,0.3,0.7c0,0.5-0.4,0.9-0.9,0.9c-0.3,0-0.5-0.1-0.7-0.3l-8.2-8.2l-8.2,8.2c-0.2,0.2-0.4,0.3-0.7,0.3c-0.5,0-0.9-0.4-0.9-0.9c0-0.3,0.1-0.5,0.3-0.7l8.9-8.9C19,9,19.2,8.9,19.5,8.9C19.8,8.9,20,9,20.2,9.1z M19.5,39C8.7,39,0,30.3,0,19.5S8.7,0,19.5,0S39,8.7, 39,19.5S30.3,39,19.5,39z M19.5,0.4C9,0.4,0.4,9,0.4,19.5S9,38.6,19.5,38.6S38 .6,30,38.6,19.5S30,0.4,19.5,0.4z
clipboard24.png

... will man nicht wirklich programmieren, sondern "malen"
  Mit Zitat antworten Zitat