AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Rave - PDF mit Grafik pixelig und zu groß
Thema durchsuchen
Ansicht
Themen-Optionen

Rave - PDF mit Grafik pixelig und zu groß

Ein Thema von TUX_der_Pinguin · begonnen am 26. Mai 2009 · letzter Beitrag vom 3. Jun 2009
 
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Rave - PDF mit Grafik pixelig und zu groß

  Alt 26. Mai 2009, 11:05
Hallo,

ich habe immer noch ein Problem mit meinem Rave Report, ich erzeuge zur Laufzeit eine Grafik (MetaFile) dieses übergebe ich an
einen Report um den Report entweder auszudrucken oder als PDF abzuspeichern, es klappt auch soweit bis auf eine Sache.

Die Grafik ist zu pixelig, d.h. zoomt man im PDF immer näher so werden Linien und Texte pixelig dargestellt, was noch zu
verschmerzen wäre wenn die so erzeugte PDF Datei nicht viel zu groß wäre.

Erstelle ich den Report und drucke ihn über einem PDF Druckertreiber aus, so ist die erzeugte PDF Datei weder pixelig noch
zu groß, die Dateigröße ist dann ca. 20-30KB. Speicher ich den gleichen Report über mein Programm als PDF Datei ab so wird
die Grafik pixelig und die PDF Datei ist über 400 KB groß.

Irgendwie schafft der Druckertreiber (z.B. PDF Creator) die Grafik als Vektor Grafik darzustellen. Jedoch die zur Laufzeit
erzeugte Grafik ist eine pixel Grafik trotz Metafile. (Ich hatte gedacht ein MetaFile wäre automatisch eine Vektorgrafik)

Ich hoffe jemand hat eine idee wie ich das ganze besser in den Griff bekomme. Also meine Ziele sind keine pixelige Grafik
und die Dateigröße soll gleich bzw. ungefähr gleich dem PDF Druckertreiber sein.


Das MetaFile wird wie folgt erzeugt und an den Report übergeben.

Delphi-Quellcode:
procedure TfrmGraph.RvCustConTAGraphGetRow(Connection: TRvCustomConnection);
var
  MemStream : TMemoryStream;
  DotsPerInch : Word;
  Wmf : TMetaFile;
  WmfCanvas : TMetaFileCanvas;

begin
  //init
  DotsPerInch := RvRenderPDF.MetafileDPI;

  Wmf := TMetaFile.Create;
  try
    try
      Wmf.Enhanced := True;

      //Größe
      Wmf.SetSize(fMmToPx(1800, DotsPerInch), fMmToPx(1220, DotsPerInch));

      //Zeichenfläche erstellen
      WmfCanvas := TMetaFileCanvas.Create(Wmf, 0);
      try

        //Grafik zeichnen...

      finally
        WmfCanvas.Free;
      end;

      //Zu Testzwecken wird das Bild gespeichert
      //Die hier erzeugte Datei ist ebenfalls pixelig beim heranzoomen (Datei größe ca. 350 KB)
      Wmf.SaveToFile(glLocalAppDir+'bla.emf');
     
      //Bild in Report laden...
      MemStream := TMemoryStream.Create;
      try
        Wmf.SaveToStream(MemStream);
        Connection.WriteBlobData(MemStream.Memory^, MemStream.Size);
      finally
        MemStream.Free;
      end;

    except
      on EOutOfResources do begin
        //Fehlermeldung...
      end;
    end;{try..except}

  finally
    Wmf.Free;
  end;{try..finally}

end;

Ich hab schon das Forum rauf und runter durchsucht und bisher nix gefunden ausser einem Beitrag mit ähnnlichem Problem,
jedoch auch ohne Lösung. Der Beitrag (Rave - RvRenderPDF und Metafiles) ist von Stephan.


mfg

TUX
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz