Herd Software Entwicklung
DaVinci Grafikbibliothek
DaVinci Dokumentation
Die ipExportInd-Funktion exportiert eine Grafik aus einem Windows DIB, MetaFile oder Enhanced MetaFile Handle in eines der unterstützen DaVinci Grafikformate.
IPERROR FAR PASCAL ipExportInd(
LPDAVPARAMS lpDavParams);
lpDavParams LPDAVPARAMS Zeiger auf eine DAVPARAMS-Struktur mit Angaben zu der zu exportierenden Grafik.
Der Rückgabewert ist 0, wenn kein Fehler auftrat, oder er enthält einen der IPE_xxxx Fehlercodes.
Die Anwendung benutzt diese Funktion, indem Sie die DAVPARAMS-Struktur ausfüllt und ipExportInd aufruft.
Die Anwendung muß nur die tatsächlich benötigten Felder der DAVPARAMS-Struktur ausfüllen. Die anderen Felder werden auf 0 gesetzt.
Für den Export unverzichtbar sind:
Die Anwendung ist selbst dafür verantwortlich, die Handles der exportierten Grafik durch Aufruf der entsprechenden Funktion GlobalFree, DeleteMetaFile und DeleteEnhMetaFile freizugeben.
/* FrameCMFileSave
*
* Save a graphic file in another format
*/
void static FrameCMFileSave(HWND hWnd)
{
METARESOLUTION mr;
HDIB hDIB = (HDIB) SendMessage(hwClient, IMM_GETDIB , 0, 0L);
HMETAFILE hMetaFile = (HMETAFILE) SendMessage(hwClient, IMM_GETMETAFILE, 0, (LPARAM)(LPSTR)&mr);
# ifdef __WIN32__
HENHMETAFILE hEnhMetaFile= (HENHMETAFILE)SendMessage(hwClient, IMM_GETENHMETAFILE, 0, 0);
# endif
DAVPARAMS DavParams;
# ifdef __WIN32__
if (hDIB || hMetaFile || hEnhMetaFile)
# else
if (hDIB || hMetaFile)
# endif
{
memset(&DavParams, 0, sizeof(DavParams));
DavParams.dwStructSize = sizeof(DAVPARAMS);
DavParams.dwFlags = IPF_DIB | IPF_META | IPF_MSGBOX | IPF_COMPRESS | IPF_FILEDIALOG; // Dateiname erfragen, Fehler selbst melden, beide Datenformate wenn mögl. komprimieren
DavParams.lpszFileName = NULL; // Dateiname vom User erfragen
DavParams.dwFileType = IPT_SELECT; // Dateiart vom User wählen lassen
DavParams.hDIB = hDIB; // Metafile-Handle
DavParams.hMetaFile = hMetaFile; // Metafile-Handle
DavParams.MetaResolution= mr; // Metrische Größenangaben
# ifdef __WIN32__
DavParams.hEnhMetaFile = hEnhMetaFile; // Enhanced Metafile-Handle
# endif
ipExportInd(&DavParams);
}
} // FrameCMFileSave