図形と画像のタイリング
タイルを並べて床を覆うように四角形の画像を並べて配置し、シェイプを塗りつぶす (その内側に並べて表示する) ことができます。 シェイプの内側に並べて表示するには、テクスチャ ブラシを使用します。 TextureBrush オブジェクトを構築する場合、コンストラクターに渡す引数の 1 つは Image オブジェクトのアドレスです。 テクスチャ ブラシを使用してシェイプの内側を塗ると、この画像の繰り返しのコピーでシェイプが塗りつぶされます。
TextureBrush オブジェクトの折り返しモード プロパティは、四角形のグリッドで繰り返されるイメージの向きを決定します。 グリッド内のすべてのタイルが同じ向きにすることや、画像をあるグリッド位置から次の位置に反転させることができます。 水平、垂直、またはその両方の反転を行うことができます。 次の例は、さまざまな種類の反転を使用して並べて表示する処理を示しています。
イメージのタイリング
この例では、次の 75 ×75 イメージを使用して、200 ×200 の四角形をタイル表示します。
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));
次の図は、四角形に画像がどのように並べて表示されるかを示しています。 すべてのタイルの向きが同じであることに注意してください。反転はありません。
タイリング中に画像を水平方向に反転する
この例では、75 ×75 イメージを使用して、200 ×200 の四角形を塗りつぶします。 ラップ モードは、画像を水平方向に反転するように設定されています。
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));
次の図は、四角形に画像がどのように並べて表示されるかを示しています。 特定の行で 1 つのタイルから次のタイルに移動すると、画像が水平方向に反転されることに注意してください。
タイリング中に画像を垂直方向に反転する
この例では、75 ×75 イメージを使用して、200 ×200 の四角形を塗りつぶします。 ラップ モードは、画像を垂直方向に反転するように設定されています。
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));
次の図は、四角形に画像がどのように並べて表示されるかを示しています。 特定の列の 1 つのタイルから次のタイルに移動すると、画像が垂直方向に反転されることに注意してください。
タイリング中に画像を水平方向と垂直方向に反転する
この例では、75 ×75 イメージを使用して、200 ×200 の四角形をタイル表示します。 ラップ モードは、画像を水平方向および垂直方向に反転するように設定されています。
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));
次の図は、四角形に画像がどのように並べて表示されるかを示しています。 特定の行で 1 つのタイルから次のタイルに移動すると、画像が水平方向に反転され、特定の列で 1 つのタイルから次のタイルに移動すると、画像が垂直方向に反転されることに注意してください。