Directory Contents Search << >>


DaVinci 4: GDI-Ähnliche Funktionen unter Linux, MacOS X und Solaris

DaVinci 4 für Linux, MacOS X und Solaris erlaubt Ihnen das Zeichnen in eine Bitmap und die Verarbeitung von Windows MetaFiles (.wmf) mit einem API ähnlich dem Windows GDI. Enhances MetaFiles werden dagegen nicht unterstützt.

Um die GDI-Funktionen zu benutzen, muss Ihre Anwendung zunächst die Datei windows.h includieren:

#include <windows.h>
#include <davinci.h>
#include <leonardo.h>

Anschließend stehen Ihnen einige Funktionen mit einer Schnittstelle ähnlich dem Windows GDI zur Verfügung, mit denen Sie Zeichnungen und Windows MetaFiles auf dieselbe Weise erstellen können, mit denen dies auch unter Windows erreicht werden kann.

Beispiel: Erzeugen und Speichern einer WMF-Datei

#include <windows.h>
#include <davinci.h>
#include <leonardo.h>

int main(int argc, char **argv)
{
HDC hdc = CreateMetaFile(NULL);
SetMapMode(hdc, MM_ANISTORIP);
SetWindowExtEx(hdc, 100, 100);
Rectangle(hdc, 10, 10, 90, 90);
TextOut(hdc, 40,40,"Hello Linux", -1);

DAVPARAMS par;
char szFileName[512];
memset(&par, 0, sizeof(par));
par.dwStructSize = sizeof(par);
par.hMetaFile = CloseMetaFile(hdc);
par.
MetaResolution.bbox.right = 100;
par.MetaResolution.bbox.bottom = 100;
par.MetaResolution.inch = 96;
par.lpszFileName = szFileName;
strcpy(szFileName, "beispiel.wmf");
ipExportInd(&par);
}

Sie können auch mit CreateCompatibleDC(NULL) einen Memory-DC anlegen, eine HBITMAP selektieren und zeichnen usw.

Funktionsnamen

Damit die libdavinci4.so keine problematischen Funktionsnamen wie "Rectangle" oder "Ellipse" exportiert, werden in der Datei davgdi.h die konventionellen Funktionsnamen durch Funktionsnamen mit dem Präfix "ip" ersetzt. Aus Rectangle wird daher ipRectangle. Falls diese Deklarationen sich als stördend erweisen sollten, können Sie sie mit #undef aufheben und stattdessen den wirklichen Funktionsnamen aufrufen:

#include <windows.h>
#include <davinci.h>

#undef Rectangle

...

ipRectangle(hdc, 1, 2, 3, 4);

Siehe auch

Schriftarten unter Linux, MacOS X und Solaris

DaVinci 4 für Linux, MacOS X und Solaris

DaVinci 4 in Linux, MacOS X und Solaris C/C++ Programmen

-


Valid HTML 4.01!