Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Paintboxcanvas als wmf speichern (https://www.delphipraxis.net/59733-paintboxcanvas-als-wmf-speichern.html)

smepal 27. Dez 2005 22:21


Paintboxcanvas als wmf speichern
 
hat jemand eine idee, wie ich den cnvas einer paintbox in einem anderen dateiformat als bmp speichern kann am liebsten wmf???

Muetze1 28. Dez 2005 01:11

Re: Paintboxcanvas als wmf speichern
 
WMF ist ein Metaformat, d.h. es werden dort Informationen abgelegt wie z.B. "male linie von relativen Punkt x1, y1 zum relativen Punkt x2, y2". Somit hast du mit deiner Rastergrafik vom PaintBox Canvas keine Chance das nochmals zurück zu wandeln. Du müsstest am besten den Nutzer nicht auf der PaintBox sondern auf einem Metafile malen lassen und das kannste dann immernoch zu einem Rasterbild (z.B. BMP) umwandeln.

smepal 28. Dez 2005 11:44

Re: Paintboxcanvas als wmf speichern
 
und wie würde das dann funktionieren ???

Muetze1 28. Dez 2005 12:01

Re: Paintboxcanvas als wmf speichern
 
Nutze eine TMetafile Instanz anstatt eines TBitmap als Backbuffer und im OnPaint der PaintBox malst du einfach das TMetafile skaliert auf den Canvas der PaintBox.

FAlter 28. Dez 2005 14:32

Re: Paintboxcanvas als wmf speichern
 
BMPs als WMF Speichern oder beliebige WMFs erstellen geht ungefähr so:

Delphi-Quellcode:
    Meta := TMetaFile.Create;
    try
      Meta.Width := BMP.Width;
      Meta.Height := BMP.Height;

      with TMetaFileCanvas.Create(Meta, 0) do
      try
        //MoveTo, LineTo, Rectangle, zum Zeichnen ... oder
        Draw(0, 0, BMP); //<-- Warnung: erzeugt extrem große Dateien, da die BMP
                         //unkomprimiert in die WMF eingebettet wird - jedes Pixel einzeln
      finally
        Free;
      end;

      Meta.SaveToFile(FileName);
    finally
      Meta.Free;
    end;
Analog auch EMFs, in Delphis TMetaFile.SaveToFile wird die Erweiterung des übergebenen Dateinamens (.WMF oder .EMF) überprüft und das passende Format geschrieben.

Muetze1 28. Dez 2005 14:34

Re: Paintboxcanvas als wmf speichern
 
Muss ich mir gleich mal merken - man verzeihe mir meine Unwissenheit, aber von der Möglichkeit der Einbettung wusste ich bisher nix beim WMF Format.

smepal 28. Dez 2005 20:28

Re: Paintboxcanvas als wmf speichern
 
also wenn ich das so abspeicher unso dann kann man beim rannsoomen immer noch pxel erkennen

Aenogym 28. Dez 2005 20:35

Re: Paintboxcanvas als wmf speichern
 
Zitat:

Zitat von smepal
also wenn ich das so abspeicher unso dann kann man beim rannsoomen immer noch pxel erkennen

ist klar, da ja auch die einzelnen pixel ins metafile gespeichert werden.
du kannst eine pixelgrafik nicht so in eine vektorgrafik umwandeln, dass du vergrößern kanst ohne pixel zu erkennen.
da hilft nur: in photoshop (oder ähnliches) laden und punkt-für-punkt die formen nachzeichnen, sodass du eine vektorgrafik erhälst.

aenogym

smepal 29. Dez 2005 10:00

Re: Paintboxcanvas als wmf speichern
 
achso wusste ich nicht sorry


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz