Partager via


Mosaïsage d’une forme avec une image

Tout comme les vignettes peuvent être placées les unes à côté des autres pour couvrir un plancher, les images rectangulaires peuvent être placées les unes à côté des autres pour remplir (mosaïque) une forme. Pour carreler l’intérieur d’une forme, utilisez un pinceau de texture. Lorsque vous construisez un objet TextureBrush , l’un des arguments que vous passez au constructeur est l’adresse d’un objet Image . Lorsque vous utilisez le pinceau de texture pour peindre l’intérieur d’une forme, la forme est remplie de copies répétées de cette image.

La propriété de mode wrap de l’objet TextureBrush détermine l’orientation de l’image à mesure qu’elle est répétée dans une grille rectangulaire. Vous pouvez faire en sorte que toutes les vignettes de la grille aient la même orientation, ou vous pouvez faire basculer l’image d’une position de grille à l’autre. Le basculement peut être horizontal, vertical ou les deux. Les exemples suivants illustrent le carrelage avec différents types de retournement.

Mosaïsage d’une image

Cet exemple utilise l’image 75 ×75 suivante pour mettre en mosaïque un rectangle de 200 ×200 :

illustration utilisée comme base d’autres illustrations dans cette rubrique : une maison et une arborescence en arrière-plan et centrées dans un rectangle

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

L’illustration suivante montre comment le rectangle est mosaïque avec l’image. Notez que toutes les vignettes ont la même orientation ; il n’y a pas de retournement.

illustration montrant l’image de base répétée horizontalement et verticalement dans un grand rectangle

 

Faire glisser une image horizontalement pendant la mosaïque

Cet exemple utilise une image 75 ×75 pour remplir un rectangle de 200 ×200. Le mode wrap est défini pour retourner l’image horizontalement.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipX);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

L’illustration suivante montre comment le rectangle est mosaïque avec l’image. Notez que lorsque vous passez d’une vignette à l’autre dans une ligne donnée, l’image est retournée horizontalement.

illustration montrant l’image de base répétée horizontalement, mais les instances paires sont inversées horizontalement

 

Faire glisser une image verticalement pendant la mosaïque

Cet exemple utilise une image 75 ×75 pour remplir un rectangle de 200 ×200. Le mode wrap est défini pour retourner l’image verticalement.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipY);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

L’illustration suivante montre comment le rectangle est mosaïque avec l’image. Notez que lorsque vous passez d’une vignette à l’autre dans une colonne donnée, l’image est retournée verticalement.

illustration montrant l’image de base répétée horizontalement et verticalement, mais les lignes paires sont inversées verticalement

 

Faire glisser une image horizontalement et verticalement pendant la mosaïque

Cet exemple utilise une image 75 ×75 pour carreler un rectangle de 200 ×200. Le mode wrap est défini pour retourner l’image horizontalement et verticalement.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipXY);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

L’illustration suivante montre comment le rectangle est carrelé par l’image. Notez que lorsque vous passez d’une vignette à l’autre d’une ligne donnée, l’image est retournée horizontalement et que lorsque vous passez d’une vignette à l’autre dans une colonne donnée, l’image est retournée verticalement.

illustration montrant les instances alternées de l’image de base dans chaque ligne sont retournées horizontalement, et les lignes alternées sont retournées verticalement