ImageBrush Kelas

Definisi

Melukis area dengan gambar. Sumber gambar biasanya diperoleh dari format file seperti Joint Photographic Experts Group (JPEG).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Warisan
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Contoh XAML ini menunjukkan cara mengatur properti Latar DepanTextBlock ke ImageBrush, yang gambarnya digunakan sebagai isian untuk teks yang dirender 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 diterapkan ke teks

Keterangan

ImageBrush adalah jenis kuas yang mendefinisikan kontennya sebagai gambar yang dapat direntangkan dan diselaraskan secara opsional. Penggunaan untuk ImageBrush menyertakan efek dekoratif untuk teks, atau latar belakang gambar untuk kontrol atau kontainer tata letak.

Berguna untuk menggunakan ImageBrush alih-alih kontrol Gambar dalam dua skenario utama:

  1. Anda ingin melukis area non-persegi panjang seperti elips atau batas dengan gambar
  2. Anda ingin menggunakan satu ImageBrush untuk melukis beberapa area atau UIElements dengan gambar yang sama, yang lebih efisien daripada menggunakan beberapa kontrol Gambar

Jika Anda menentukan ImageBrush menggunakan kode, gunakan konstruktor default, lalu atur ImageBrush.ImageSource. Ini memerlukan BitmapImage (bukan Pengidentifikasi Sumber Daya Seragam (URI)) dalam kode. Jika sumber Anda adalah aliran, gunakan metode SetSourceAsync untuk menginisialisasi nilai. Jika sumber Anda adalah Pengidentifikasi Sumber Daya Seragam (URI), yang menyertakan konten dalam aplikasi Anda yang menggunakan skema ms-appx atau ms-resource , gunakan konstruktor BitmapImage yang mengambil Pengidentifikasi Sumber Daya Seragam (URI). Anda mungkin juga mempertimbangkan untuk menangani peristiwa ImageOpened jika ada masalah waktu dengan mengambil atau mendekode sumber gambar, di mana Anda mungkin memerlukan konten alternatif untuk ditampilkan hingga sumber gambar tersedia. Lihat sampel gambar XAML misalnya kode.

Catatan

Anda dapat menggunakan penanganan otomatis untuk mengakses sumber daya yang tidak memenuhi syarat dengan kualifikasi skala dan budaya saat ini, atau Anda dapat menggunakan ResourceManager dan ResourceMap dengan kualifikasi untuk budaya dan skala untuk mendapatkan sumber daya secara langsung. Untuk informasi selengkapnya lihat Sistem manajemen sumber daya.

Properti Stretch penting untuk bagaimana gambar diterapkan saat digunakan sebagai kuas. Beberapa gambar terlihat bagus ketika direntangkan seperti yang diterapkan pada properti Brush tertentu dengan perilaku Isi sedangkan gambar lain tidak meregangkan atau menskalakan dengan baik dan mungkin memerlukan nilai Tidak Ada atau Seragam untuk Stretch. Bereksperimenlah dengan nilai yang berbeda untuk Stretch untuk melihat perilaku mana yang paling terlihat saat diterapkan ke UI.

Sumber dan penskalakan gambar

Anda harus membuat sumber gambar pada beberapa ukuran yang direkomendasikan, untuk memastikan bahwa aplikasi Anda terlihat hebat saat Windows 8 menskalakannya. Saat menentukan ImageSource untuk ImageBrush, Anda dapat menggunakan konvensi penamaan yang akan secara otomatis mereferensikan sumber daya yang benar untuk penskalaan saat ini. Untuk detail konvensi penamaan dan info selengkapnya, lihat Mulai Cepat: Menggunakan sumber daya file atau gambar.

Untuk informasi selengkapnya tentang cara merancang penskalaan, lihat Panduan UX untuk tata letak dan penskalaan.

Catatan untuk versi sebelumnya

Windows 8

Windows 8 memiliki masalah dengan resolusi ImageSource dari nilai URI atribut XAML, jika ImageBrush adalah bagian dari gaya atau templat XAML yang diterapkan ke kontrol. Penggunaan kontrol terkadang akan menggunakan URI dasar khusus komponen daripada URI dasar yang sesuai untuk gaya atau templat, yang biasanya berasal dari aplikasi. Masalah diperbaiki dimulai dengan Windows 8.1; URI dasar ditentukan dengan benar untuk sumber daya aplikasi atau sumber daya komponen tergantung pada cakupan yang membutuhkan URI dasar. Aplikasi yang dikompilasi untuk Windows 8 mungkin telah menggunakan solusi untuk perilaku ini, dengan menempatkan file sumber gambar mereka di tempat "salah", di mana URI XAML akan mengatasinya dan aplikasi akan menampilkan gambar. Jika Anda memigrasikan XAML dari Windows 8 ke Windows 8.1, Anda harus menguji penggunaan ImageBrush apa pun dalam gaya atau templat dari XAML Anda dan memverifikasi bahwa resolusi gambar di aplikasi Anda berfungsi dengan Windows 8.1. Jika Anda memiliki masalah, Anda harus memindahkan file sumber gambar dalam paket sehingga berada dalam cakupan sumber daya yang benar untuk perilaku baru.

Aplikasi yang dikompilasi untuk Windows 8 tetapi berjalan di Windows 8.1 terus menggunakan perilaku Windows 8.

Konstruktor

ImageBrush()

Menginisialisasi instans baru kelas ImageBrush .

Properti

AlignmentX

Mendapatkan atau mengatur perataan horizontal konten dalam petak peta dasar TileBrush .

(Diperoleh dari TileBrush)
AlignmentY

Mendapatkan atau mengatur perataan vertikal konten dalam petak peta dasar TileBrush .

(Diperoleh dari TileBrush)
Dispatcher

Mendapatkan CoreDispatcher yang dikaitkan dengan objek ini. CoreDispatcher mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI meskipun kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
ImageSource

Mendapatkan atau mengatur sumber gambar yang ditampilkan oleh ImageBrush ini. Dalam kode Anda mengatur ini dengan instans subkelas ImageSource , di XAML Anda mengatur ini dengan URI ke file sumber gambar.

ImageSourceProperty

Mengidentifikasi properti dependensi ImageSource .

Opacity

Mendapatkan atau menetapkan tingkat keburaman Kuas.

(Diperoleh dari Brush)
RelativeTransform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas menggunakan koordinat relatif.

(Diperoleh dari Brush)
Stretch

Mendapatkan atau menetapkan nilai yang menentukan bagaimana konten TileBrush ini membentang agar pas dengan petak petanya.

(Diperoleh dari TileBrush)
Transform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas.

(Diperoleh dari Brush)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Saat ditimpa di kelas turunan, menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Acara

ImageFailed

Terjadi ketika ada kesalahan yang terkait dengan pengambilan gambar atau format.

ImageOpened

Terjadi ketika sumber gambar diunduh dan didekode tanpa kegagalan. Anda dapat menggunakan peristiwa ini untuk menentukan ukuran gambar sebelum merendernya.

Berlaku untuk

Lihat juga