Demi-toning
Le demi-toning analogique traditionnel utilise un écran de demi-toning, composé de cellules de tailles égales, avec un espacement de cellule fixe centre à centre. L’espacement des cellules fixes permet de prendre en charge l’épaisseur de l’encre, tandis que la taille d’un point dans chaque cellule peut varier pour produire l’impression d’une tonalité continue.
Sur un ordinateur, la plupart des impressions ou de l’ombrage d’écran utilisent également une taille de pixels de cellule fixe. Pour simuler la taille variable des points, une combinaison de pixels de cluster simule l’écran en demi-teinte. GDI inclut des paramètres par défaut de demi-toning qui fournissent une bonne première approximation. Des informations supplémentaires spécifiques à l’appareil peuvent être ajoutées au système pour améliorer la sortie.
Le pilote envoie à GDI les spécifications relatives à l’appareil dont GDI a besoin pour effectuer le demi-tour via la structure GDIINFO retournée par la fonction DrvEnablePDEV . Le pilote spécifie la taille de modèle avec le membre ulHTPatternSize de GDIINFO, qui définit le format de sortie préféré pour la demi-toning. Pour des appareils spécifiques, la demi-toning est liée aux tailles de modèle en demi-teinte. GDI fournit de nombreuses tailles de modèles prédéfinies de 2 x 2 à 16 x 16.
Pour chaque taille de modèle standard, il existe également une version modifiée. Il est identifié par le suffixe « _M » sur le nom de la taille de modèle standard. Par exemple, le nom défini du modèle standard 6 par 6 est HT_PATSIZE_6x6, tandis que le nom du modèle 6 par 6 modifié est HT_PATSIZE_6x6_M). La version modifiée donne plus de résolution des couleurs, mais peut produire un effet secondaire de bruit horizontal ou vertical. En outre, étant donné que chacune de ces tailles de modèle dépend de la résolution de l’appareil, la taille de modèle appropriée dépend de l’appareil spécifique.
Le compromis entre la taille du modèle (résolution spatiale) et la résolution des couleurs est déterminé par la taille du modèle. Un modèle en demi-teintes plus grand produit une meilleure résolution des couleurs, tandis qu’un modèle plus petit permet d’obtenir la meilleure résolution spatiale. La détermination de la meilleure taille de modèle est souvent une question d’essai et d’erreur. Pour plus d’informations, consultez GDIINFO.
Un autre des membres de la structure GDIINFO affectant la demi-toning est flHTFlags, qui contient des indicateurs qui décrivent la résolution de l’appareil nécessaire pour la demi-toning.
GDI gère les demandes d’ajustement des couleurs de l’application et transmet les informations aux fonctions de pilote via la DDI graphique. Si l’application sélectionne halftoning et que la surface est au format standard DIB, GDI traite la bitmap à l’aide de ses fonctionnalités de halftoning, après quoi, la bitmap est envoyée à l’appareil. Dans le pilote PostScript, la fonction EngStretchBlt peut envoyer l’image bitmap à l’imprimante à l’aide des fonctions DrvCopyBits ou DrvBitBlt (en mode SRCCOPY).
Laisser GDI effectuer le halftoning au lieu de l’imprimante PostScript, par exemple, fournit une sortie plus rapide avec une meilleure qualité WYSIWYG. Une interface avec le pilote PostScript permet à l’utilisateur d’ajuster le halftoning et fournit une boîte de case activée pour désactiver la demi-toning GDI si les fonctionnalités intégrées de demi-toning de l’imprimante sont préférées.
La fonction DrvDitherColor peut renvoyer la valeur DCR_HALFTONE, qui demande à GDI de rapprocher une couleur à l’aide de la palette d’appareils (demi-teintes) existante. DCR_HALFTONE ne peut être utilisé avec un pilote d’affichage que lorsque l’appareil contient une palette de périphériques (demi-teintes), comme un adaptateur VGA-16 carte, car il dispose d’une palette fixe standard. Les pilotes monochromes, y compris la plupart des imprimantes raster, peuvent utiliser le paramètre iMode dans DrvDitherColor pour obtenir de bons effets d’échelle de gris.
Note Windows 2000 et versions ultérieures ne prennent pas en charge la demi-toning sur les appareils 24 bits (ou plus).