ImageBrush クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
領域をイメージで塗りつぶします。 通常、画像ソースは、Joint Photographic Experts Group (JPEG) などのファイル形式から取得されます。
public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
- 継承
- 属性
例
この XAML の例では、TextBlock のForeground プロパティを ImageBrush に設定する方法を示します。このプロパティのイメージは、TextBlock でレンダリングされたテキストの塗りつぶしとして使用されます。
<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
FontStyle="Italic" FontWeight="Bold">
SHRUBBERY
<TextBlock.Foreground>
<ImageBrush ImageSource="forest.jpeg"/>
</TextBlock.Foreground>
</TextBlock>
注釈
ImageBrush は、コンテンツをイメージとして定義する ブラシ の一種であり、必要に応じてストレッチして整列できます。 ImageBrush の用途には、テキストの装飾効果や、コントロールまたはレイアウト コンテナーの画像の背景が含まれます。
次の 2 つの主なシナリオでは、 Image コントロール の代わりに ImageBrush を使用すると便利です。
- 楕円や境界線などの四角形以外の領域をイメージで塗りつぶす場合
- 1 つの ImageBrush を使用して、複数の領域または UIElements を同じイメージで描画する場合は、複数の イメージ コントロールを使用するよりも効率的です
コードを使用して ImageBrush を定義する場合は、既定のコンストラクターを使用し、 ImageBrush.ImageSource を設定します。 これには、コード内で BitmapImage (URI) ではなく Uniform Resource Identifier が必要です。 ソースがストリームの場合は、 SetSourceAsync メソッドを使用して値を初期化します。 ソースが、ms-appx または ms-resource スキームを使用するアプリ内のコンテンツを含む URI (Uniform Resource Identifier) である場合は、Uniform Resource Identifier (URI) を受け取る BitmapImage コンストラクターを使用します。 イメージ ソースが使えるようになるまで代替コンテンツを表示することが必要であるなど、イメージ ソースの取得やデコードについてタイミングの問題がある場合は、ImageOpened イベントを処理することも検討してください。 コード例については、 XAML イメージのサンプル を参照してください。
Note
現在のスケール修飾子とカルチャ修飾子を使用して非修飾リソースにアクセスする場合は自動処理を使用できます。また、 ResourceManager と ResourceMap をカルチャとスケールの修飾子と共に使用してリソースを直接取得することもできます。 詳細については、「 リソース管理システム」を参照してください。
Stretch プロパティは、ブラシとして使用する場合のイメージの適用方法に重要です。 一部の画像は、塗りつぶし動作を使用して特定の Brush プロパティに適用されると適切に表示されますが、他の画像はストレッチや拡大縮小がうまく行われず、値 None または Uniform for Stretch が必要になる場合があります。 Stretch のさまざまな値を試して、UI に適用した場合に最適な動作を確認します。
イメージ ソースとスケーリング
Windows 8スケーリングしたときにアプリが適切に表示されるように、いくつかの推奨サイズでイメージ ソースを作成する必要があります。 ImageBrush に ImageSource を指定する場合は、現在のスケーリングに適したリソースを自動的に参照する名前付け規則を使用できます。 名前付け規則の詳細と詳細については、「 Quickstart: ファイルまたはイメージ リソースの使用」を参照してください。
スケーリングの設計方法の詳細については、 レイアウトとスケーリングに関する UX ガイドラインを参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| ImageBrush() |
ImageBrush クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| AlignmentX |
TileBrush 基本タイル内のコンテンツの水平方向の配置を取得または設定します。 (継承元 TileBrush) |
| AlignmentY |
TileBrush 基本タイル内のコンテンツの垂直方向の配置を取得または設定します。 (継承元 TileBrush) |
| Dispatcher |
Windows アプリ SDK アプリで常に |
| DispatcherQueue |
このオブジェクトが関連付けられている |
| ImageSource |
この ImageBrush によって表示されるイメージ ソースを取得または設定します。 コードでは、 ImageSource サブクラス インスタンスでこれを設定します。XAML では、これを URI でイメージ ソース ファイルに設定します。 |
| ImageSourceProperty |
ImageSource 依存関係プロパティを識別します。 |
| Opacity |
ブラシの不透明度を取得または設定 します。 (継承元 Brush) |
| RelativeTransform |
相対座標を使用してブラシに適用される変換を取得または設定します。 (継承元 Brush) |
| Stretch |
この TileBrush のコンテンツがタイルに合わせて引き伸ばされる方法を指定する値を取得または設定します。 (継承元 TileBrush) |
| Transform |
ブラシに適用される変換を取得または設定します。 (継承元 Brush) |
メソッド
イベント
| 名前 | 説明 |
|---|---|
| ImageFailed |
イメージの取得または形式に関連するエラーが発生した場合に発生します。 |
| ImageOpened |
イメージ ソースがダウンロードされ、エラーなしでデコードされるときに発生します。 このイベントを使用して、イメージをレンダリングする前にサイズを決定できます。 |