ImageBrush クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イメージで領域を塗りつぶします。 画像ソースは、通常、共同写真エキスパート グループ (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](microsoft.ui.xaml.media/images/shrubbery.gif?view=windows-app-sdk-1.5)
注釈
ImageBrush は、そのコンテンツをイメージとして定義する ブラシ の一種であり、必要に応じて拡大および整列できます。 ImageBrush の用途には、テキストの装飾効果や、コントロールまたはレイアウト コンテナーの画像背景が含まれます。
次の 2 つのメインシナリオでは、Image コントロールの代わりに ImageBrush を使用すると便利です。
- 楕円や境界線などの四角形以外の領域をイメージで描画する場合
- 1 つの ImageBrush を使用して、複数の領域または UIElements を同じイメージで描画する必要があります。これは、複数の イメージ コントロールを使用するよりも効率的です
コードを使用して ImageBrush を定義する場合は、既定のコンストラクターを使用し、 ImageBrush.ImageSource を設定します。 これには、コード内の BitmapImage (URI ( Uniform Resource Identifier) ではなく) が必要です。 ソースがストリームである場合は、SetSourceAsync メソッドを使って値を初期化します。 ソースが Uniform Resource Identifier (URI) で、 ms-appx または ms-resource スキームを使用するアプリ内のコンテンツを含む場合は、Uniform Resource Identifier (URI) を受け取る BitmapImage コンストラクターを使用します。 画像ソースが使えるようになるまで代替コンテンツを表示することが必要であるなど、画像ソースの取得やデコードについてタイミングの問題がある場合は、ImageOpened イベントを処理することも検討してください。 コード例については、「 XAML イメージのサンプル 」を参照してください。
注意
現在のスケール修飾子とカルチャ修飾子を使用して非修飾リソースにアクセスするために自動処理を使用することも、 ResourceManager と ResourceMap をカルチャとスケールの修飾子と共に使用してリソースを直接取得することもできます。 詳しくは、「リソース管理システム」をご覧ください。
Stretch プロパティは、ブラシとして使用する場合のイメージの適用方法に重要です。 一部の画像は、塗りつぶし動作を使用して特定の Brush プロパティに適用されると良好に見えますが、他の画像はストレッチや拡大縮小がうまく行われず、ストレッチには [なし] または [均一] の値が必要になる場合があります。 Stretch のさまざまな値を試して、UI に適用した場合に最適な動作を確認します。
画像ソースとスケーリング
Windows 8スケーリングしたときにアプリが適切に表示されるように、いくつかの推奨サイズでイメージ ソースを作成する必要があります。 ImageBrush に ImageSource を指定する場合は、現在のスケーリングに適したリソースを自動的に参照する名前付け規則を使用できます。 この名前付け規則の詳細や関連情報については、「クイック スタート: ファイルまたは画像リソースの使用」をご覧ください。
スケーリング用に設計する方法の詳細については、「 レイアウトとスケーリングに関する UX ガイドライン」を参照してください。
コンストラクター
ImageBrush() |
ImageBrush クラスの新しいインスタンスを初期化します。 |
プロパティ
AlignmentX |
TileBrush 基本タイル内のコンテンツの水平方向の配置を取得または設定します。 (継承元 TileBrush) |
AlignmentY |
TileBrush 基本タイル内のコンテンツの垂直方向の配置を取得または設定します。 (継承元 TileBrush) |
Dispatcher |
常に Windows アプリ SDK アプリで を返します |
DispatcherQueue |
このオブジェクトが |
ImageSource |
この ImageBrush によって表示されるイメージ ソースを取得または設定します。 コードでは、 ImageSource サブクラス インスタンスでこれを設定します。XAML では、これを URI でイメージ ソース ファイルに設定します。 |
ImageSourceProperty |
ImageSource 依存関係プロパティを識別します。 |
Opacity |
Brush の不透明度を取得または設定 します。 (継承元 Brush) |
RelativeTransform |
相対座標を使用して、ブラシに適用される変換を取得または設定します。 (継承元 Brush) |
Stretch |
この TileBrush のコンテンツがタイルに合わせて引き伸ばされる方法を指定する値を取得または設定します。 (継承元 TileBrush) |
Transform |
ブラシに適用される変換を取得または設定します。 (継承元 Brush) |
メソッド
イベント
ImageFailed |
画像の取得または形式に関連するエラーが発生したときに発生します。 |
ImageOpened |
イメージ ソースがダウンロードされ、エラーなしでデコードされたときに発生します。 このイベントを使用して、イメージをレンダリングする前にイメージのサイズを決定できます。 |