Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#11

Re: Vektor Format anzeigen/drucken

  Alt 5. Nov 2007, 15:32
Hallo,

das Drucken ist ein Problem, weil der Drucker nicht auf Pixel eingestellt ist. Hier musst Du den Umweg über GDI+ gehen:
Delphi-Quellcode:
var
  Bounds: TGPRectF;
  Graphics: TGPGraphics;
begin
  Printer.BeginDoc;
  Bounds.X := 0;
  Bounds.Y := 0;
  Bounds.Width := Printer.PageWidth;
  Bounds.Height := Printer.PageHeight;

  Graphics := TGPGraphics.Create(Printer.Canvas.Handle);
  try
    Graphics.SetPageUnit(UnitPixel); // <-- Das hier schaltet die Einheit um
    Graphics.SetSmoothingMode(SmoothingModeAntiAlias);
    SVG.PaintTo(Graphics, Bounds, nil, 0);
  finally
    Graphics.Free;
  end;
  Printer.EndDoc;
end;
Die zusätzlichen Rects sind Update-Regions und werden normalerweise nicht benötigt. Die sind nur für das optimierte Zeichnen in Windows vorhanden.

Zitat von Gruber_Hans_12345:
hmmm, gibt es bei Texte irgendetwas zu beachten?

habe mit Inkscape mal ein SVG erzeugt, die Linien bekomme ich rein, aber die Texte nicht?

werde es dann mal mit CorelDraw probieren

[edit]mit Coreldraw kommend ie Texte auch mal gut an (ob die 100% passen, werde ich erst sehen, wenn ich das drucken mal im griff habe)
Wenn Du da Probleme hast (ich verwende immer Illustrator ab Version CS2), dann lad' einfach 'mal ein Bild hoch und ich guck drüber.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat