Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#15

AW: Idee: Vektor-Screenshot-Tool (SVG) für Delphi/VCL - Interessenten?

  Alt 20. Mai 2022, 18:30
Hallo,

das ist eine coole idee. Mit ein paar Zeilen code kann man schon einiges erreichen:

Code:
procedure TForm6.Button3Click(Sender: TObject);
var meta : TMetafile;
    can : TMetafileCanvas;
begin
   meta := TMetafile.Create;
   can := TMetafileCanvas.Create(meta, 0);
   try
     Self.PaintTo(can.Handle, 0,0);
   finally
     can.Free;
   end;
   meta.SaveToFile('s:\out.emf');
   meta.Free;
end;
Alle Panels werden bei mir als bitmaps ausgegeben, nicht als gefüllte Rechtecke. Evtl kann man dies abfangen oder die gleichfarbigen Bilder später erkennen und in entsprechende FillRects wandeln.

EMF ist natürlich nicht so schön wie SVG, aber skaliert auch.
Hab das gerade mal ausprobiert. Die Unterstützung für die erstellte EMF in unterschiedlichen Vektoreditoren ist unterschiedlich, aber überall schlecht:
  • Affinity: Komplett unbrauchbar. Besonders auffällig: Fast alle Objekte (insbesondere alle Texte) werden in der oberen linken Ecke platziert, außer der Hintergrund von TButton, TRadioButton, TCheckBox, TListBox, TTreeView, TProgressBar und TTrackbar
  • Inkscape: schlecht, kaum brauchbar. Besonders auffällig: Der Text von TMemo wird durch irgendwelchen Blödsinn ersetzt.
  • Word (nach "Bild bearbeiten"): schlecht, marginal schlechter als Inkscape. Besonders auffällig: Word ist als einziges der drei Programme nicht Unicode-fähig.
Durch Vergleich untereinander und mit einer Ausgabe über den Microsoft PDF Printer via TPrinter komme ich zu folgender Vermutung:
TLabel 100% Vektor
TEditRahmen Vektor, Text Raster
TMemo100% Vektor
TButtonRahmen Raster, Text Vektor
TGroupBoxRahmen Raster, Text Vektor, Text Vektor
TRadioButtonSymbol Raster, Text Vektor
TCheckBoxSymbol Raster, Text Vektor
TStatusBarRahmen und Symbol Raster, Text Vektor
TListBox100% Vektor
TComboBox - ComboBoxRahmen und Symbol Raster, Text fehlt
TComboBox - SimpleRahmen des Eingabefelds im Fokus-Status und Raster, Text fehlt, Listbox fehlt komplett
TComboBox - ComboBoxListRahmen und Symbol Raster, Text Vektor
TTreeViewRahmen und Symbole Raster, Text Vektor
TProgressBar100% Raster
TScrollBar100% Raster
TTrackBar100% Raster
TTabControlRahmen Raster, Text Vektor
Ist nicht so toll.
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer (20. Mai 2022 um 19:16 Uhr)
  Mit Zitat antworten Zitat