Vectorgrafik in Rasterimage konvertieren (Metafile zu Bitmap)
-
Brauche Tip zur Grafikkonvertierung!
Wie kann ich ein emf-File (enhanced metafile) als Bitmap abspeichern?
-
hkl schrieb:
Wie kann ich ein emf-File (enhanced metafile) als Bitmap abspeichern?
Wie meinst du das ?
Möchtest du es laden, und dann in ein Bitmap speichern !?Dann schau mal hier nach
http://www.c-plusplus.net/forum/viewtopic.php?t=39400&sid=fc6665b3a85eb08782a621eccc48680aOder hier
http://www.c-plusplus.net/forum/viewtopic.php?t=61114&postdays=0&postorder=asc&start=0Gruß
:: NoName ::
-
Danke für den Hinweis.
Habe Funktion von 1. Link genommen:
// erst emf generieren
void DWFReader::create_meta(CRect &r)
{
meta = new CMetaFileDC;
CWnd* desktop = CWnd::GetDesktopWindow();
CDC *dc = desktop->GetDC();
CString emf_fname(filename + ".emf");
WaxSys::addToTempFileList(emf_fname);
meta->CreateEnhanced(dc, emf_fname, NULL, "Wax+\0EMF_INTERFACE\0\0" );
meta->SetBkMode(TRANSPARENT);
}//dann graphik objekte serialisieren
{
hier nicht eingefügt.
}//Dann als Bitmap speichern
int DWFReader::saveBitmap(CRect &r)
{
CMetaFileDC *m = meta;
HDC hdc = m->m_hDC;
r.bottom += abs(r.top);
r.top = 0;
r.right += abs(r.left);
r.left = 0;
int width = r.right;
int height = r.bottom;// Verwendete Methode aus 1. LINK
//dc2bitmap(HDC hdc, int width, int height, char *filename)
dc2bitmap(hdc, width, height, "waxemf.bmp");
}BMP-Datei wird erzeugt.
Bild ist leider komplett SCHWARZ!!!
-
Hmm, kommt drauf an wie du das machst. Wenn du nur mit GetDesktopWindow(); das CWnd holst, dann reicht es doch wenn du es als Bitmap abspeicherst. Wozu vorher das MetaFile ?
Gruß
:: NoName ::
-
Ich will ja nicht das Desktopwindow als Bild abspeichern.
Brauch den Gerätekontext doch nur um ein Metafile zu erzeugen.In dieses Metafile werden dann Grafikobjekte wie Linie, Polygon etc. serialisiert.
Hintergrund:
Es werden Rohrkonstruktionen gezeichnet. Ein Auftrag kann bis zu 30 Konstruktionen enthalten. Für die Druckliste wird ein Html-File verwendet, und die *.emf Dateien als Link eingefügt.Problem: Wenn viele Graphiken im Ausdruck dann werden diese mitunter nicht schnell genug geladen, so dass zum Teil leere Blätter rauskommen.
Deshalb möchte ich nun die Grafiken in .bmp/.png umwandeln, um zu testen ob der Ausdruck dann schneller und vollständig ist!