Image.NineGrid プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イメージのサイズを変更する方法を制御する 9 グリッドメタファーの値を取得または設定します。 9 グリッドのメタファーを使用すると、画像の端や角を中心とは異なる方法で引き伸ばすことができます。 詳細と図については、「解説」を参照してください。
public:
property Thickness NineGrid { Thickness get(); void set(Thickness value); };
Thickness NineGrid();
void NineGrid(Thickness value);
public Thickness NineGrid { get; set; }
var thickness = image.nineGrid;
image.nineGrid = thickness;
Public Property NineGrid As Thickness
<Image NineGrid="left,top,right,bottom" />
プロパティ値
9 グリッドのサイズ変更メタファーの Left、Top、Right、Bottom の測定値を設定する Thickness 値。
注釈
9 グリッド レンダリングを使用する場合は、イメージのさまざまな領域を拡大する方法を指定できます。 この機能は、イメージが拡大縮小またはストレッチされるときに、画像の角の詳細を保持するのに役立ちます。
9 グリッド レンダリングでは、イメージが 9 つのセクションのグリッドに分割されます。
9 グリッド レンダリングを使用すると、コーナーの元の寸法 (ボックス 1、3、7、9) を保持できます。 上下 (ボックス 2 と 8) は水平方向にのみ引き伸ばされ、側面 (ボックス 4 と 6) は垂直方向にのみ引き伸ばされます。 中央 (ボックス 5) は両方の寸法で引き伸ばされます。 9 グリッドレンダリングを使用するには、 Image 要素を作成し、NineGrid プロパティの値 (グリッドの左、上、右、および下端の長さのピクセル値) を指定します。 XAML では、NineGrid 属性値を、左、上、右、下の順に辺のピクセル値を指定する文字列として指定します。 内部的には、この構文により、この種類の測定を表す Thickness オブジェクトが作成されます。 均一な値が必要な場合は、4 つのエッジすべてに適用される値を 1 つだけ指定できます。
9 グリッド レンダリングの適用は、イメージ自体に何らかの種類の境界線やエッジ装飾がイメージ ソース内に埋め込まれている場合に非常に便利です。 たとえば、透明度の高いイメージの一部としてアウトラインを持つ Button のイメージ ソースを使用しているとします。 アイコンを含む中央の領域を引き伸ばしたい場合があります。 ただし、角を広げた場合は、角が丸い部分からエイリアシングアーティファクトが発生する可能性があります。 または、罫線の辺が太くなりすぎて、拡大縮小すると見た目が良くならない場合があります。 これを防ぐには、画像ソースと同じサイズの境界線のピクセル サイズを常に保持する均一な値を持つ NineGrid を使用できます。
コードまたは XAML では、NineGrid プロパティの設定に使用する Thickness の値は、デバイスに依存しないピクセル値です。
NineGrid 値を使用する Image 要素の XAML の例を次に示します。
<Image Source="Images/9grid.bmp" NineGrid="30,20,30,20" />
NineGrid 値は、イメージに Width または Height に特定の値が設定されておらず、イメージがストレッチされている場合にのみ、イメージのレンダリングに関連します (イメージは大きなコンテナー空間にレンダリングされ、 Stretch の値は **なし**ではありません**)。