Announcement

Collapse
No announcement yet.

MetaFile Export

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MetaFile Export

    Hallo,

    ich versuche verzweifelt die Maße bei TMetafile hinzubekommen.
    Eine Tabelle soll als Metafile exportiert werden.

    Var
    M: TMetafile;
    C: TMetafileCanvas;
    xmax, ymax: Integer;
    B: TImage;
    begin
    // 1. Durchlauf um breite zu bestimmen
    M:=TMetafile.create;
    C:=TMetaFileCanvas.Create(M,0);
    xmax:=0; ymax:=0;
    for x=0 to zeile .. for y=0 to spalte:
    probeweise Zeichnen und xmax und ymax bestimmen.
    end;
    C.Free;
    B:=TImage.Create;
    B.Width:=wx;
    B.Height:=wy;
    B.Picture.Bitmap.Width:=wx;
    B.Picture.Bitmap.Height:=wy;
    B.Picture.Bitmap.PixelFormat:=pf24bit;
    M.Clear;
    M.Width:=xmax;
    M.Height:=ymax;
    C:=TMetaFileCanvas.Create(M, B.Picture.Bitmap.Canvas.Handle);
    Jetzt noch mal richtig zeichnen

    Das Ergebnis: Wenn ich das in Powerpoint lade wird immer nur ein Bereich angezeigt, je nach Abmessungen der Tabelle. Hebe ich die Gruppierung auf, dann ist alles wunderbar da. Nur die Breite und die Höhe stimmt irgendwie nicht. (Habe es auch schon mit MMWidth/Height und setMapMode(..MM_LOMETRIC) usw. probiert).

    Kann jemand helfen?

  • #2
    Versuch mal folgendes:
    .
    .
    .
    M.Width:=xmax;
    M.Height:=ymax;
    C:=TMetaFileCanvas.Create(M, B.Picture.Bitmap.Canvas.Handle);
    M.Width:=xmax; // hier nochmal
    M.Height:=ymax; // hier nochmal
    Jetzt noch mal richtig zeichnen
    .
    .
    .
    C.free; // Jetzt erst sind die Daten in M
    Clipboard.Assign(M); // Und jetzt in der Zwischenablag

    Comment


    • #3
      Hallo,

      werde es mal probieren. Im Moment habe ich den Export erst mal auf Bitmap umgestellt, funktioniert genauso, sieht dann nur in Powerpoint etwas verwaschener aus. Im Moment komme ich nur nicht dazu es zu Testen.
      Danke, Matthia

      Comment

      Working...
      X