ImageBrush クラス

定義

領域をイメージで塗りつぶします。 通常、画像ソースは、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 .../>
継承
Object Platform::Object IInspectable DependencyObject Brush 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 は、コンテンツをイメージとして定義する ブラシ の一種であり、必要に応じてストレッチして整列できます。 ImageBrush の用途には、テキストの装飾効果や、コントロールまたはレイアウト コンテナーの画像の背景が含まれます。

次の 2 つの主なシナリオでは、 Image コントロール の代わりに ImageBrush を使用すると便利です。

  1. 楕円や境界線などの四角形以外の領域をイメージで塗りつぶす場合
  2. 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

現在のスケール修飾子とカルチャ修飾子を使用して非修飾リソースにアクセスする場合は自動処理を使用できます。また、 ResourceManagerResourceMap をカルチャとスケールの修飾子と共に使用してリソースを直接取得することもできます。 詳細については、「 リソース管理システム」を参照してください。

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 アプリで常に null を返します。 代わりに DispatcherQueue を使用してください。

(継承元 DependencyObject)
DispatcherQueue

このオブジェクトが関連付けられている DispatcherQueue を取得します。 DispatcherQueueは、コードが非 UI スレッドによって開始された場合でも、UI スレッド上のDependencyObjectにアクセスできる機能を表します。

(継承元 DependencyObject)
ImageSource

この ImageBrush によって表示されるイメージ ソースを取得または設定します。 コードでは、 ImageSource サブクラス インスタンスでこれを設定します。XAML では、これを URI でイメージ ソース ファイルに設定します。

ImageSourceProperty

ImageSource 依存関係プロパティを識別します。

Opacity

ブラシの不透明度を取得または設定 します

(継承元 Brush)
RelativeTransform

相対座標を使用してブラシに適用される変換を取得または設定します。

(継承元 Brush)
Stretch

この TileBrush のコンテンツがタイルに合わせて引き伸ばされる方法を指定する値を取得または設定します。

(継承元 TileBrush)
Transform

ブラシに適用される変換を取得または設定します。

(継承元 Brush)

メソッド

名前 説明
ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

アニメーション化できるプロパティを定義します。

(継承元 Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

派生クラスでオーバーライドされると、アニメーション化できるプロパティを定義します。

(継承元 Brush)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty への変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

イベント

名前 説明
ImageFailed

イメージの取得または形式に関連するエラーが発生した場合に発生します。

ImageOpened

イメージ ソースがダウンロードされ、エラーなしでデコードされるときに発生します。 このイベントを使用して、イメージをレンダリングする前にサイズを決定できます。

適用対象

こちらもご覧ください