IXpsRasterizer ::RasterizeRect, méthode (xpsrassvc.h)
La méthode RasterizeRect ratérise une zone rectangulaire alignée sur l’axe d’une page fixe XPS.
Syntaxe
HRESULT RasterizeRect(
[in] INT x,
[in] INT y,
[in] INT width,
[in] INT height,
[in, optional] IXpsRasterizerNotificationCallback *notificationCallback,
[out, optional] IWICBitmap **bitmap
);
Paramètres
[in] x
Coordonnée x, en pixels, au bord gauche de la bitmap de sortie.
[in] y
Coordonnée y, en pixels, au bord supérieur de la bitmap de sortie.
[in] width
Largeur, en pixels, de la bitmap de sortie.
[in] height
Hauteur, en pixels, de la bitmap de sortie.
[in, optional] notificationCallback
Pointeur vers l’interface IXpsRasterizerNotificationCallback d’un objet de notification implémenté par l’appelant. Ce paramètre est facultatif et peut être NULL si l’appelant n’a pas besoin de rappels de notification.
[out, optional] bitmap
Pointeur vers un emplacement dans lequel la méthode écrit un pointeur dans l’interface IWICBitmap de l’objet bitmap nouvellement créé. Si la méthode échoue, elle écrit NULL à cet emplacement et retourne un code d’erreur.
Valeur de retour
RasterizeRect retourne S_OK si l’appel a réussi. Sinon, la méthode retourne un code d’erreur. Les valeurs de retour d’erreur possibles sont les suivantes :
Retourner le code | Description |
---|---|
E_POINTER | Le paramètre bitmap est NULL. |
E_INVALIDARG | Le paramètre largeur ou hauteur est inférieur ou égal à 0. |
Remarques
Cette méthode est prise en charge dans Windows 7 et versions ultérieures. Il n’est pas pris en charge dans les versions du système d’exploitation Windows avant Windows 7.
Si elle réussit, cette méthode crée un objet bitmap WIC (Windows Imaging Component) et passe à l’appelant une référence comptée à l’interface IWICBitmap de l’objet. Lorsque l’objet n’est plus nécessaire, l’appelant est chargé de libérer l’objet en appelant la méthode Release sur l’interface IWICBitmap de l’objet.
La bitmap WIC créée par cette méthode a un format de pixel 32 bits qui contient des canaux rouges, verts et bleus 8 bits et utilise l’espace de couleurs RVB (sRGB) standard. En outre, le format contient un composant alpha 8 bits. Les composants de couleur de chaque valeur de pixel sont pré multipliés par le composant alpha. Le format de pixel est spécifié par la valeur GUID GUID_WICPixelFormat32bppPBGRA, qui est définie dans le fichier d’en-tête Wincodec.h. Pour plus d’informations sur ce format, consultez Vue d’ensemble des formats de pixel natif.
Le paramètre IXpsRasterizationFactory ::CreateRasterizer méthode ppp spécifie la résolution, en points par pouce, auquel la bitmap doit être restituée. Comme décrit dans la spécification XPS, la largeur et la hauteur d’une page fixe dans un document XPS sont spécifiées en unités de 1/96 pouces. Pour déterminer les dimensions (en pixels) de la bitmap requise pour représenter l’intégralité de la page fixe, multipliez la largeur et la hauteur par ppp/96.
Pour prendre en charge les imprimantes qui nécessitent qu’une page fixe soit rastérisée sous la forme d’une série de bandes horizontales ou verticales, les paramètres x, y, largeuret hauteur spécifier une région rectangulaire de la page fixe à rasteriser. Les quatre valeurs de paramètre sont spécifiées en pixels. Les paramètres x et y sont les coordonnées du coin supérieur gauche de la région rectangulaire ; ils sont spécifiés en tant que déplacement de pixels à partir de l’origine des coordonnées (0, 0). Les paramètres largeur et hauteur sont les dimensions de la région rectangulaire.
Par exemple, si wXPS et hXPS sont la largeur et la hauteur d’une page fixe XPS en unités de 1/96 pouces, RasterizeRect génère une représentation bitmap de la moitié inférieure de la page fixe si les paramètres x, y, largeuret hauteur sont définies sur les valeurs suivantes :
xyhlargeurwhauteurh DPI
Si le paramètre notificationCallback n’est pasNULL, la méthode RasterizeRect prend une référence comptée à l’interface IXpsRasterizerNotificationCallback de l’objet de notification. Pour ce faire, appelez la méthode AddRef sur l’interface avant d’effectuer des appels à la méthode IXpsRasterizerNotificationCallback ::Continue. Avant que RasterizeRect retourne, il libère l’objet de notification en appelant la méthode Release sur l’interface *IXpsRasterizerNotificationCallback.
Comme expliqué dans la spécification XPS, l’attribut facultatif BleedBox peut spécifier une zone à bles qui s’étend en dehors des limites d’une page fixe. Pour prendre en charge les zones de fond, le rectangle défini par les paramètres x, y, largeuret hauteur peuvent également s’étendre au-delà des limites de la page fixe. La méthode accepte toutes les valeurs, positives ou négatives, pour x et y, et accepte toutes les valeurs positives, non nulles pour largeur et hauteur. Le rectangle spécifié par ces paramètres définit la région de découpage pour l’opération de rastérisation. Si le rectangle s’étend au-delà des limites de la page fixe, la zone de découpage s’étend également au-delà de ces limites.
Si la méthode échoue et que bitmap n’est pasNULL, la méthode définit *bitmap = NULL.
Pour obtenir un exemple de code qui appelle la méthode RasterizeRect, consultez l’exemple XPSRasFilter dans wdK. Cet exemple se trouve dans le dossier Src\Print\Xpsrasfilter de votre installation WDK.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 7 et versions ultérieures du système d’exploitation Windows. |
plateforme cible | Bureau |
d’en-tête | xpsrassvc.h |
Voir aussi
IXpsRasterizationFactory ::CreateRasterizer