GDIINFO-Struktur (winddi.h)
Die GDIINFO-Struktur beschreibt die Grafikfunktionen eines bestimmten Geräts.
Syntax
typedef struct _GDIINFO {
ULONG ulVersion;
ULONG ulTechnology;
ULONG ulHorzSize;
ULONG ulVertSize;
ULONG ulHorzRes;
ULONG ulVertRes;
ULONG cBitsPixel;
ULONG cPlanes;
ULONG ulNumColors;
ULONG flRaster;
ULONG ulLogPixelsX;
ULONG ulLogPixelsY;
ULONG flTextCaps;
ULONG ulDACRed;
ULONG ulDACGreen;
ULONG ulDACBlue;
ULONG ulAspectX;
ULONG ulAspectY;
ULONG ulAspectXY;
LONG xStyleStep;
LONG yStyleStep;
LONG denStyleStep;
POINTL ptlPhysOffset;
SIZEL szlPhysSize;
ULONG ulNumPalReg;
COLORINFO ciDevice;
ULONG ulDevicePelsDPI;
ULONG ulPrimaryOrder;
ULONG ulHTPatternSize;
ULONG ulHTOutputFormat;
ULONG flHTFlags;
ULONG ulVRefresh;
ULONG ulBltAlignment;
ULONG ulPanningHorzRes;
ULONG ulPanningVertRes;
ULONG xPanningAlignment;
ULONG yPanningAlignment;
ULONG cxHTPat;
ULONG cyHTPat;
LPBYTE pHTPatA;
LPBYTE pHTPatB;
LPBYTE pHTPatC;
ULONG flShadeBlend;
ULONG ulPhysicalPixelCharacteristics;
ULONG ulPhysicalPixelGamma;
} GDIINFO, *PGDIINFO;
Member
ulVersion
Gibt die Treiberversionsnummer an. Die Bytereihenfolge von ulVersion weist die folgende Form auf.
Die hohen 16 Bits müssen auf 0 festgelegt werden. Die Bits 8 bis 15 geben die Versionsnummer des Microsoft-Betriebssystems an, für das der Treiber entwickelt wurde. Die hochgeordneten 4 Bits dieses Bereichs geben die Hauptanzahl der Version an, und die 4 Bits mit niedriger Reihenfolge enthalten die Nebennummer der Version. Die 8 Bits mit niedriger Reihenfolge von ulVersion geben die Versionsnummer des Anzeigetreibers an. Dieser Wert sollte für jedes Release der Binärdatei des Anzeigetreibers erhöht werden.
Das Programm Anzeigen in Systemsteuerung gibt die in ulVersion enthaltene Versionsnummer zusammen mit anderen treiberspezifischen Informationen an.
ulTechnology
Gibt die Gerätetechnologie an. Dieser Member kann einer der Werte sein, die in der folgenden Tabelle aufgeführt sind.
Wert | Bedeutung |
---|---|
DT_CHARSTREAM | Nur Geräteschriftarten |
DT_PLOTTER | Vektorplotter |
DT_RASCAMERA | Rasterkamera |
DT_RASDISPLAY | Rasteranzeige |
DT_RASPRINTER | Rasterdrucker |
ulHorzSize
Gibt die Breite der physischen Oberfläche an. Ein positiver Wert gibt an, dass die Breite in Millimetereinheiten liegt, während ein negativer Wert angibt, dass die Breite in Einheiten von Mikrometern liegt.
ulVertSize
Gibt die Höhe der physischen Oberfläche an. Ein positiver Wert gibt an, dass die Höhe in Einheiten von Millimetern liegt, während ein negativer Wert angibt, dass die Höhe in Einheiten von Mikrometern liegt.
ulHorzRes
Gibt die Breite der physischen Oberfläche (Anzeigegeräte) oder der druckbaren Oberfläche (Drucker) in Pixel an.
Siehe auch ulDesktopHorzRes.
ulVertRes
Gibt die Höhe der physischen Oberfläche (Anzeigegeräte) oder der druckbaren Oberfläche (Drucker) in Pixel an.
cBitsPixel
Gibt die Anzahl der benachbarten Bits in jeder Farbebene an. Die Gesamtanzahl der Bits pro Pixel ist das Produkt von cBitsPixel und cPlanes.
cPlanes
Gibt die Anzahl der Farbebenen an.
ulNumColors
Für palettisierte Geräte gibt ulNumColors die Anzahl der Einträge in der Standardfarbpalette an. Für nicht verpalettte Geräte (die keine Drucker enthalten), ist ulNumColors auf -1 festgelegt.
flRaster
Ist reserviert und muss auf Null festgelegt werden.
ulLogPixelsX
Gibt die Breite der Auflösung des Geräts in logischen Pixeln pro Zoll an.
Für Drucker sollte dieser Member auf die Auflösung des Druckers in dpi festgelegt werden.
Für Displays muss dieser Member auf 96 festgelegt werden.
ulLogPixelsY
Gibt die Höhenauflösung des Geräts in logischen Pixeln pro Zoll an.
Für Drucker sollte dieser Member auf die Auflösung des Druckers in dpi festgelegt werden.
Für Displays muss dieser Member auf 96 festgelegt werden.
flTextCaps
Gibt ein Flag an, das die Textfunktionen von Windows 3.1 beschreibt. Wenn sich der Treiber TC_SCROLLBLT Flag in diesem Element befindet, gibt dies an, dass die Konsole einen Textlauf ausführen soll, indem der gesamte Bildschirm neu gezeichnet wird, wobei die vom Treiber bereitgestellte DrvTextOut-Funktion anstelle der DrvBitBlt - oder DrvCopyBits-Funktionen verwendet wird. Der Treiber sollte dieses Flag festlegen, wenn Bitblockübertragungen von Bildschirm zu Bildschirm langsam sind. Wenn dieses Flag nicht festgelegt ist, fordert der Treiber implizit an, dass die Konsole Textläufe durch DrvBitBlt/DrvCopyBits ausführt.
ulDACRed
ulDACGreen
ulDACBlue
Gibt die Anzeigeanzahl von DAC-Bits für die angegebene Farbe an.
ulAspectX
Gibt die relative Breite eines Gerätepixels im Bereich von 1 bis 1000 an.
ulAspectY
Gibt die relative Höhe eines Gerätepixels im Bereich von 1 bis 1000 an.
ulAspectXY
Gibt die Quadratwurzel der Summe der Quadrate von ulAspectX und ulAspectY an.
xStyleStep
Gibt den Zähler des Formatvorschubs für x-Hauptzeilen dx an. Weitere Informationen finden Sie im folgenden Abschnitt Mit Anmerkungen und im Abschnitt Formatierte kosmetische Linien.
yStyleStep
Gibt den Zähler des Formatvorschubs für y-Hauptzeilen dy an. Weitere Informationen finden Sie im folgenden Abschnitt Mit Anmerkungen und im Abschnitt Formatierte kosmetische Linien.
denStyleStep
Gibt den Nenner des Stilvorrückens D an. Weitere Informationen finden Sie im folgenden Abschnitt Mit Anmerkungen und im Abschnitt Formatierte kosmetische Linien.
ptlPhysOffset
Gibt eine POINTL-Struktur an, die die Größe des unbeschreibbaren Rands einer Oberfläche in Pixel enthält.
szlPhysSize
Gibt eine SIZEL-Struktur an, die die Größe der gesamten Oberfläche in Pixel enthält, einschließlich nicht beschreibbarer Ränder. Eine SIZEL-Struktur ist mit einer SIZE-Struktur identisch.
ulNumPalReg
Gibt die Anzahl der Palettenregister für ein indiziertes Gerät an.
ciDevice
Ist eine COLORINFO-Struktur , die die Farben des Geräts im CIE-Koordinatenraum definiert.
ulDevicePelsDPI
Gibt bei Druckern die Anzahl der Pixel (oder Punkte oder Düsen) pro Zoll an, wenn die Pixel nebeneinander angeordnet sind, ohne sich zu überlappen oder dazwischen abstand zu setzen. Wenn die Größe eines Pixels beispielsweise 0,001 Zoll beträgt, entspricht dieser Wert einem durch 0,001 geteilten Wert. Wenn das Element 0 ist, berechnet die GDI-Halbtonierung diese Zahl basierend auf der Annahme, dass alle Pixel ohne Überlappung verbunden sind.
Da die physische Punktgröße für die meisten Drucker größer als die gemessene Punktgröße ist, verwendet GDI diesen Wert, um die Anzahl der physischen Punkte, die auf der Zellgröße (Mustergröße) platziert werden können, anzunähern. Anschließend wird eine Protokollregression durchgeführt, um zu bestimmen, was am linearsten ist. Das heißt, die Punkte sollten für die beste Abdeckung platziert werden, um die Abdeckung überlappender Gerätepixel zu optimieren (Punktverstärkung).
Für Anzeigen sollte dieses Element auf 0 festgelegt werden.
ulPrimaryOrder
Gibt die Bitreihenfolge der Primärfarben oder Ebenennummern des Geräts für die Halbtonausgabe an. Dieser Member kann einer der Werte sein, die in der folgenden Tabelle aufgeführt sind.
Flag | Bedeutung |
---|---|
PRIMARY_ORDER_ABC | Die Ausgabereihenfolge des Geräts ist RGB oder CMY. Rot oder Cyan ist in den geringsten signifikanten Bits; Blau oder Gelb ist in den wichtigsten Bits. |
PRIMARY_ORDER_ACB | Die Geräteausgabereihenfolge ist RBG oder CYM. Rot oder Cyan ist in den geringsten signifikanten Bits; Grün oder Magenta ist in den wichtigsten Bits. |
PRIMARY_ORDER_BAC | Die Geräteausgabereihenfolge ist GRB oder MCY. Grün oder Magenta ist in den geringsten signifikanten Bits; Blau oder Gelb ist in den wichtigsten Bits. |
PRIMARY_ORDER_BCA | Die Geräteausgabereihenfolge ist GBR oder MYC. Grün oder Magenta ist in den geringsten signifikanten Bits; Rot oder Cyan ist in den wichtigsten Bits. |
PRIMARY_ORDER_CBA | Die Geräteausgabereihenfolge ist BGR oder YMC. Blau oder Gelb ist in den am wenigsten signifikanten Bits; Rot oder Cyan ist in den wichtigsten Bits. |
PRIMARY_ORDER_CAB | Die Geräteausgabereihenfolge ist BRG oder YCM. Blau oder Gelb ist in den am wenigsten signifikanten Bits; Grün oder Magenta ist in den wichtigsten Bits. |
ulHTPatternSize
Gibt die Größe des Halbtonmusters an. Die Werte, die mit AxBM enden, sind Variationen des AxB-Musters . Anders ausgedrückt: GRÖßEAxB und SIZE_AxB_M unterscheiden sich dadurch, welche Pixel in einem A x B-Muster beleuchtet werden. Dieser Member kann einer der folgenden Werte sein:
- HT_PATSIZE_2x2
- HT_PATSIZE_2x2_M
- HT_PATSIZE_4x4
- HT_PATSIZE_4x4_M
- HT_PATSIZE_6x6
- HT_PATSIZE_6x6_M
- HT_PATSIZE_8x8
- HT_PATSIZE_8x8_M
- HT_PATSIZE_10x10
- HT_PATSIZE_10x10_M
- HT_PATSIZE_12x12
- HT_PATSIZE_12x12_M
- HT_PATSIZE_14x14
- HT_PATSIZE_14x14_M
- HT_PATSIZE_16x16
- HT_PATSIZE_16x16_M
- HT_PATSIZE_SUPERCELL
- HT_PATSIZE_SUPERCELL_M
- HT_PATSIZE_USER
- HT_PATSIZE_MAX_INDEX
- HT_PATSIZE_DEFAULT
ulHTOutputFormat
Gibt das bevorzugte Ausgabeformat für Halbton an. HT_FORMAT_4BPP verwendet nur 8 Vollintensitätsfarben, während HT_FORMATP_IRGB alle 16 Farben verwendet, einschließlich der Halbintensitätsfarben. Es wird davon ausgegangen, dass für HT_FORMAT_16BPP ein Format von 5 x 5 x 5 (5 Bits pro Farbe) verwendet wird. Dieser Member kann einer der folgenden Werte sein:
- HT_FORMAT_1BPP
- HT_FORMAT_4BPP
- HT_FORMAT_4BPP_IRGB
- HT_FORMAT_8BPP
- HT_FORMAT_16BPP
- HT_FORMAT_24BPP
- HT_FORMAT_32BPP
flHTFlags
Gibt eine Kombination von Flags an, die das Gerät beschreiben. Diese Flags werden für die Halbtonierung benötigt. Dieses Element kann eine Kombination der folgenden Werte sein:
Flag | Bedeutung |
---|---|
HT_FLAG_8BPP_CMY332_MASK | Flag zum Löschen der oberen acht Bits von flHTFlags (Bits 24 bis 31). Das MAKE_CMY332_MASK Makros kann dann verwendet werden, um diese Bits mit 8-Bit-Pro-Pixel-CMY-Modus-Freihandebeneninformationen festzulegen. Weitere Informationen finden Sie unter Verwenden von GDI 8-Bit-pro-Pixel-CMY-Maskenmodi . |
HT_FLAG_ADDITIVE_PRIMS | Geräteprimries sind additiv. |
HT_FLAG_DO_DEVCLR_XFORM | Fordert GDI auf, eine generische Farbkorrektur durchzuführen. |
HT_FLAG_HAS_BLACK_DYE | Das Gerät hat einen separaten schwarzen Farbstoff. |
|
Papier im Gerät absorbiert mehr als die normale Menge an Freihand, sodass GDI weniger Freihand zu Papier rendern sollte. Diese Flags geben die relative Menge der Freihandaufnahme an, wobei HT_FLAG_HIGHER_INK_ABSORPTION eine größere Absorption als HT_FLAG_HIGH_INK_ABSORPTION, aber weniger als HT_FLAG_HIGHEST_INK_ABSORPTION. |
|
Flags, die zum Definieren von HT_FLAG_HIGH/HIGHER/HIGHEST_INK_ABSORPTION und HT_FLAG_LOW/LOWER/LOWEST_INK_ABSORPTION verwendet werden. |
HT_FLAG_INK_HIGH_ABSORPTION | Flag zum Definieren von HT_FLAG_HIGH/HIGHER/HIGHEST_INK_ABSORPTION. |
HT_FLAG_INVERT_8BPP_BITMASK_IDX | GDI-Halbton sollte 8-Bit-pro-Pixel-Ask-Modus-Bitmap mit einer CMY_INVERTED-Modus-Palette rendern. Beschreibung und Anforderungen für CMY_INVERTED Moduspalette finden Sie unter Verwenden von GDI 8-Bit-pro-Pixel-CMY-Maskenmodi . |
|
Papier im Gerät absorbiert weniger als die normale Menge an Freihand, sodass GDI mehr Freihand in Papier rendern sollte. Diese Flags geben die relative Menge der Freihandaufnahme an, wobei HT_FLAG_LOWER_INK_ABSORPTION weniger Absorption als HT_FLAG_LOW_INK_ABSORPTION, aber mehr als HT_FLAG_LOWEST_INK_ABSORPTION. |
HT_FLAG_NORMAL_INK_ABSORPTION | Papier im Gerät absorbiert die normale Menge an Tinte. |
HT_FLAG_OUTPUT_CMY | Das Gerät verwendet CMY-Vorwahlen anstelle von RGB-Vorwahlen. Dieser Flagwert gilt nur für Zielflächen mit 1 bpp und 4 bpp. |
HT_FLAG_PRINT_DRAFT_MODE | Deaktiviert den Antialiasingcode von GDI. |
HT_FLAG_SQUARE_DEVICE_PEL | Das Gerätepixel ist quadratisch statt rund (nur anzeigen – Drucker benötigen abgerundete Pixel). |
HT_FLAG_USE_8BPP_BITMASK | Das Gerät verwendet monochromes Drucken. |
ulVRefresh
Die Videoaktualisierungsrate für den aktuellen Anzeigemodus. Dies ist der Wert, der vom Miniporttreiber für die Aktualisierungsrate für den aktuellen Modus zurückgegeben wird.
Das Programm Anzeigen in Systemsteuerung zeigt die Im ulVRefresh-Member enthaltene Aktualisierungsrate an.
ulBltAlignment
Dieses Element gibt die bevorzugte x-Ausrichtung für Bitblockübertragungen an das Gerät an. Der Wert 0 gibt an, dass Bitblockübertragungen beschleunigt werden. jede andere nicht bestimmte Zahl gibt an, dass Bitblockübertragungen nicht beschleunigt werden, und gibt die bevorzugte horizontale Ausrichtung als Pixel-Vielfaches an.
Dieser Wert wird vom System verwendet, um die Standardausrichtung für Fensterpositionen zu bestimmen, und wird auch verwendet, um die anfängliche Standardeinstellung für den vollständigen Ziehen während des Setups festzulegen. Der Wert 0 gibt an, dass der Vollzug standardmäßig aktiviert sein sollte. Jeder andere Wert als null gibt an, dass der voll drag standardmäßig deaktiviert sein sollte.
ulPanningHorzRes
ulPanningVertRes
Sollte vom Treiber ignoriert werden und null initialisiert bleiben.
xPanningAlignment
yPanningAlignment
Sollte vom Treiber ignoriert werden und null initialisiert bleiben.
cxHTPat
cyHTPat
Geben Sie die Breite bzw. Höhe des vom Benutzer bereitgestellten Halbtondithermusters in Pixel an. Der Wert von cxHTPat muss im Bereich liegen, der HT_USERPAT_CX_MIN HT_USERPAT_CX_MAX einschließlich. Der Wert von cyHTPat muss im Bereich liegen, der HT_USERPAT_CY_MIN bis einschließlich HT_USERPAT_CY_MAX. Diese Konstanten sind in winddi.h definiert. Weitere Informationen finden Sie im Abschnitt "Hinweise" .
pHTPatA
pHTPatB
pHTPatC
Zeigen Sie auf die benutzerdefinierten Halbtondithermuster für die Primärfarben A, B bzw. C, die durch den PRIMARY_ORDER_XXX-Wert im element ulPrimaryOrder definiert sind. Jedes Dithermuster muss ein gültiges zweidimensionales Bytearray der Größe cxHTPat by cyHTPat sein. Weitere Informationen finden Sie im Abschnitt "Hinweise" .
flShadeBlend
Gibt eine Reihe von Flags an, die die Schattierungs- und Mischfunktionen des Geräts angeben. Anzeigetreiber sollten diesen Member ignorieren und auf 0 festgelegt lassen. Bei Druckertreibern ist der Wert, den der Treiber in diesem Member platziert, der von GDI gemeldet wird, wenn eine Anwendung GetDeviceCaps(hdc, SHADEBLENDCAPS) aufruft. Die GetDeviceCaps-Funktion wird in der Dokumentation zum Microsoft Window SDK beschrieben.
ulPhysicalPixelCharacteristics
Gibt an, wie Farbfragmente so konfiguriert werden, dass sie Pixel auf dem Anzeigegerät bilden. Die Farbfragmente auf dem Anzeigegerät können in RGB-Reihenfolge oder in BGR-Reihenfolge angeordnet werden, völlig unabhängig von der RGB-Reihenfolge im Framepuffer. Die Farbfragmente können in horizontalen Streifen konfiguriert werden, in denen alle Fragmente in einer Zeile die gleiche Farbe haben. Alternativ können die Farbfragmente in vertikalen Streifen konfiguriert werden, in denen alle Fragmente in einer Spalte die gleiche Farbe aufweisen. Vertikales Striping wird bevorzugt, da es effektiv drei separate Fragmente in einer Zeile für jedes Pixel bereitstellt, wodurch eine größere horizontale Subpixelauflösung entsteht.
Der member ulPhysicalPixelCharacteristics muss auf einen der in der folgenden Tabelle gezeigten Werte festgelegt werden:
Wert | Bedeutung |
---|---|
PPC_DEFAULT | Die Physischen Pixelinformationen des Geräts werden nicht angezeigt. |
PPC_BGR_ORDER_HORIZONTAL_STRIPES | Physische Farbfragmente auf dem Anzeigegerät werden von oben nach unten in Zeilen mit blauen, grünen und roten Farbfragmenten angeordnet. |
PPC_BGR_ORDER_VERTICAL_STRIPES | Physische Farbfragmente auf dem Anzeigegerät werden von links nach rechts in Spalten mit blauen, grünen und roten Farbfragmenten angeordnet. |
PPC_RGB_ORDER_HORIZONTAL_STRIPES | Physische Farbfragmente auf dem Anzeigegerät werden von oben nach unten in Zeilen mit roten, grünen und blauen Farbfragmenten angeordnet. |
PPC_RGB_ORDER_VERTICAL_STRIPES | Physische Farbfragmente auf dem Anzeigegerät werden von links nach rechts in Spalten mit roten, grünen und blauen Farbfragmenten angeordnet. |
PPC_UNDEFINED |
Anzeige der physischen Pixelinformationen des Geräts sind bekannt, können aber nicht als eine der angegebenen Enumerationen ausgedrückt werden. Die Enumerationen gelten derzeit für einen LCD-basierten Monitor. Der Treiber sollte ulPhysicalPixelCharacteristics auf PPC_UNDEFINED festlegen, wenn eine der folgenden Bedingungen erfüllt ist. (Diese Liste ist nicht umfassend, enthält aber die häufigsten Bedingungen.)
|
ulPhysicalPixelGamma
Gibt das Gamma des Anzeigegeräts an. Dieser Member sollte entweder auf das Gamma des physischen Pixels, skaliert um den Faktor 1000, oder auf einen der folgenden Werte festgelegt werden. Beispielsweise würde ein Gammawert von 2,2 als 2200 dargestellt.
Wert | Bedeutung |
---|---|
PPG_DEFAULT | Der Treiber hat keine Kenntnis vom Gamma für das Gerät. |
PPG_SRGB | Das Gerät verwendet eine sRGB-Gamma.The device uses a sRGB gamma. |
Hinweise
GDI initialisiert diese Struktur null, bevor die vom Treiber bereitgestellte DrvEnablePDEV-Funktion aufgerufen wird.
Die Elemente xStyleStep, yStyleStep und denStyleStep definieren, wie ein kosmetischer Linienstil beim Zeichnet jedes Pixel einer kosmetischen Linie voranschreiten soll. Der Betrag, der entlang des Stils für jedes Pixel erweitert wird, wird als Bruch definiert, der davon abhängt, ob die Linie im x- oder y-Format formatiert ist. Wenn die Zeile x-formatiert ist, wird die Formatvorlage um den Bruchteil des Dx /D-Werts für jedes Pixel in x-Richtung verschoben. Andernfalls wird der Stil um dy/D für jedes Pixel in y-Richtung verschoben.
Die Punkte im vordefinierten Linienstil PS_DOT sind jeweils eine Einheit lang. Wenn der Treiber xStyleStep als 1 und denStyleStep als 5 definiert, besteht eine gepunktete horizontale Linie aus 5 Pixeln ein, gefolgt von 5 Pixeln, die wiederholt werden.
Jede dieser drei Zahlen muss kleiner als 65536 sein, obwohl die Obergrenzenmember LONG-Werte sind. Diese Stilschritte werden vom Treiber definiert, um sicherzustellen, dass die Punkte und Bindestriche in einer Zeile eine angenehme Größe auf dem Ausgabegerät haben. Die horizontalen und vertikalen Schritte können sich von der Korrektur für nichttriviale Seitenverhältnisse unterscheiden. Auf einem EGA-Display, dessen Pixel um 33 Prozent höher als breit sind, können Sie beispielsweise Folgendes festlegen:
pdevcaps->xStyleStep = 3; // For an EGA
pdevcaps->yStyleStep = 4;
pdevcaps->denStyleStep = 12;
In diesem Fall sind horizontal gepunktete Linien 4 Pixel ein, 4 Pixel entfernt, da der Stil um 3/12 oder 1/4 für jedes Pixel erweitert wird. Vertikale gepunktete Linien sind 3 Pixel ein/3 Pixel entfernt.
Formatierte Linien sehen besser aus, wenn sowohl die x- als auch die y-Stilschritte gleichmäßig in den Stil-Nenner aufgeteilt werden, wie im vorherigen Beispiel. Dies gibt Bindestriche und Punkte, die immer die gleiche Länge haben.
GDI benötigt diese Informationen, damit seine Bitmapfunktionen genau emulieren können, was das Gerät auf seiner eigenen Oberfläche tut. Anwendungen können auf diese Informationen zugreifen, um genau zu bestimmen, welche Pixel für formatierte Linien aktiviert werden. Weitere Informationen finden Sie unter Formatierte kosmetische Linien.
Die halbtonbezogenen Member cxHTPat, cyHTPat, pHTPatA, pHTPatB und pHTPatC können in einem OEM Unidrv-Rendering-Plug-In verwendet werden, um ein benutzerdefiniertes Halbtonmuster zu definieren, das entweder aus einer oder drei Farben besteht. Diese Member werden nur überprüft, wenn das element ulHTPatternSize auf HT_PATSIZE_USER festgelegt ist. In diesem Fall kann ein OEM diese Member verwenden, um ein benutzerdefiniertes Halbtonmuster zu definieren, das auf Daten basiert, die in einer Ressourcendatei gespeichert oder von einem OEM-Anpassungsmodul generiert wurden. Die Elemente cxHTPat und cyHTPat definieren die Größe jedes der drei zweidimensionalen Halbtonmusterarrays. Die Member pHTPatA, pHTPatB und pHTPatC zeigen auf die jeweiligen Musterarrays für jede Farbe. Wenn nur ein Musterarray verwendet wird, zeigen pHTPatA, pHTPatB und pHTPatC darauf.
Jeder Byteschwellenwert an einer bestimmten Stelle in einem Halbtondithermuster bestimmt, ob das Pixel an der entsprechenden Ausgabeebenenposition aktiviert oder deaktiviert wird. Ein Schwellenwert von null an einer bestimmten Stelle im Musterarray gibt an, dass die entsprechende Pixelposition ignoriert wird (schwarz). Schwellenwerte von 1 bis 255 geben das Dithermuster mit 255 Graustufen an; Wenn der Pixelwert in der Ausgabeebene größer oder gleich dem Schwellenwert für diese Position ist, wird das Pixel aktiviert. Ein Pixelwert, der kleiner als der entsprechende Schwellenwert ist, bewirkt, dass sein Pixel in der Ausgabeebene deaktiviert wird. Weitere Informationen finden Sie unter Angepasste Halbtonierung im Anpassen der Druckertreiber von Microsoft .
Anforderungen
Anforderung | Wert |
---|---|
Header | winddi.h (einschließlich Winddi.h) |