Die DXFRESOLUTION - Struktur enthält nach dem Import von DXF-Dateien Zusatzangaben zur Umrechnung zwischen den Pixelkoordinaten im Metafile bzw. enhanced Metafile und den Weltkoordnaten in denen die DXF-Datei angelegt wurde.
DXFRESOLUTION ist definiert in der Datei DAVINCI.H.
typedef struct |
||
{ |
||
double scale; |
||
double minx; |
||
double maxy; |
||
} DXFRESOLUTION, *LPDXFRESOLUTION; |
||
Die DXFRESOLUTION-Struktur hat folgende Felder: |
Feld | Typ | Beschreibung | |
scale | double | Umrechnungsfaktor zwischen DXF Weltkoordinaten und Metafile Ganzzahlen | |
minx | double | minx Kleinster X-Wert | |
maxy | double | maxy Größter Y-Wert |
Zum Austausch zwischen Anwendungen bestimmte MetaFiles sollten immer den Skalierungsmodus MM_ANISOTROPIC verwenden und die Größe des logischen Koordinatensystems mit SetWindowExtEx und SetWindowOrgEx setzen.
Das Element bbox der METARESOLUTION-Struktur enthält üblicherweise dieselben Angaben wie die Angaben in SetWindowExtEx und SetWindowOrgEx, lediglich als RECT-Element formuliert.
Pixel in Weltkoordinaten
Anhand der Pixel-Koodinaten aus dem Metafile bzw. Enhanced Metafile kann folgendermaßen auf die Weltkoordinate umgerechnet werden.
Beispiel:
POINT pixel;
double worldx, worldy;
worldx = dxfResolution.minx + pixel.x / dxfResolution.scale;
worldy = dxfResolution.maxy - pixel.y / dxfResolution.scale;