MetaFile generieren
-
Hallo zusammen !
Hat jemand vielleicht ein Code-Beispiel für die Generierung eines MetaFiles und dessen Abspeicherung auf einen Datenträger?
Danke im voraus, MacReeg.
-
Wenn du dir mal die CMetaFile-Klasse aus den MFC's anguckst brauchst du kein Codebeispiel. Die ist echt kinderleicht zu benutzen...(Hat aber leider nen kleinen Bug wenn du ein Metafile in ein Preview-DC zeichnen willst... seit 1993 um den dreh ist der bekannt und noch immer nicht behoben!?!?!?!) Ich würde aber mit einem EMF (enhanced-metafile) anstatt WMF arbeiten. Du erstellst dir nen MetafileDC, gibst den Dateinamen an, zeichnest darein und feddisch.
-
Hier hab ich dir schnell mal ein Beispiel gemacht (dürfte auch so funktionieren, habs leider nicht getestet
)
// MetafileDC erstellen CMetaFileDC* pMDC = new CMetaFileDC; CRect rcBounds(0,0,640,480); CString strDescription("<<Programmname>>\0<<Bildname>>\0\0,"); pMDC->CreateEnhanced( pDC, // Referenz-DC "C:\\test.emf", // Dateiname (NULL wenn Speicherdatei) &rcBounds, // Rechteck für die Größe des MetaFileDC's strDescription); // Beschreibender String für die Metafile // ... hier normalen Zeichencode einfügen // Datei schließen und Handle auf das Metafile erhalten HENHMETAFILE hEMF = pMDC->CloseEnhanced(); // Wenn gewünscht jetzt das Metafile in dem BildschirmDC abspielen pDC->PlayMetaFile(hEMF, &rcBounds); // Handle auf das Metafile löschen ::DeleteEnhMetaFile(hEMF); // DC löschen delete pMDC;
Wär doch was für die FAQ, oder???
[ Dieser Beitrag wurde am 16.01.2003 um 09:24 Uhr von MaSTaH editiert. ]