Share via


ImageBrush クラス

定義

イメージで領域を塗りつぶします。 画像ソースは、通常、共同写真エキスパート グループ (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 の例では、TextBlockForeground プロパティを 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 メソッドを使って値を初期化します。 ソースが Uniform Resource Identifier (URI) で、 ms-appx または ms-resource スキームを使用するアプリ内のコンテンツを含む場合は、Uniform Resource Identifier (URI) を受け取る BitmapImage コンストラクターを使用します。 画像ソースが使えるようになるまで代替コンテンツを表示することが必要であるなど、画像ソースの取得やデコードについてタイミングの問題がある場合は、ImageOpened イベントを処理することも検討してください。 コード例については、「 XAML イメージのサンプル 」を参照してください。

注意

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

Stretch プロパティは、ブラシとして使用する場合のイメージの適用方法に重要です。 一部の画像は、塗りつぶし動作を使用して特定の Brush プロパティに適用されると良好に見えますが、他の画像はストレッチや拡大縮小がうまく行われず、ストレッチには [なし] または [均一] の値が必要になる場合があります。 Stretch のさまざまな値を試して、UI に適用した場合に最適な動作を確認します。

画像ソースとスケーリング

Windows 8スケーリングしたときにアプリが適切に表示されるように、いくつかの推奨サイズでイメージ ソースを作成する必要があります。 ImageBrush に ImageSource を指定する場合は、現在のスケーリングに適したリソースを自動的に参照する名前付け規則を使用できます。 この名前付け規則の詳細や関連情報については、「クイック スタート: ファイルまたは画像リソースの使用」をご覧ください。

スケーリング用に設計する方法の詳細については、「 レイアウトとスケーリングに関する 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 の不透明度を取得または設定 します

(継承元 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

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

適用対象

こちらもご覧ください