ImageBrush Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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>
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:
- Anda ingin melukis area non-persegi panjang seperti elips atau batas dengan gambar
- 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. |