次の方法で共有


図形と画像のタイリング

タイルを並べて床を覆うように四角形の画像を並べて配置し、シェイプを塗りつぶす (その内側に並べて表示する) ことができます。 シェイプの内側に並べて表示するには、テクスチャ ブラシを使用します。 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 つのタイルから次のタイルに移動すると、画像が垂直方向に反転されることに注意してください。

各行の基本イメージの交互のインスタンスが水平方向に反転され、交互の行が垂直方向に反転されることを示す図