BitmapFrame 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.
Mewakili data gambar yang dikembalikan oleh dekoder dan diterima oleh encoder.
public ref class BitmapFrame abstract : System::Windows::Media::Imaging::BitmapSource, System::Windows::Markup::IUriContext
public abstract class BitmapFrame : System.Windows.Media.Imaging.BitmapSource, System.Windows.Markup.IUriContext
type BitmapFrame = class
inherit BitmapSource
interface IUriContext
Public MustInherit Class BitmapFrame
Inherits BitmapSource
Implements IUriContext
- Warisan
- Penerapan
Contoh
Contoh kode berikut menunjukkan cara membuat baru BitmapSource dengan menggunakan BitmapFrame.
int width = 128;
int height = width;
int stride = width/8;
byte[] pixels = new byte[height*stride];
// Try creating a new image with a custom palette.
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
BitmapPalette myPalette = new BitmapPalette(colors);
// Creates a new empty image with the pre-defined palette
BitmapSource image = BitmapSource.Create(
width,
height,
96,
96,
PixelFormats.Indexed1,
myPalette,
pixels,
stride);
FileStream stream = new FileStream("empty.tif", FileMode.Create);
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
MessageBox.Show(myPalette.Colors.Count.ToString());
encoder.Save(stream);
Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte
' Try creating a new image with a custom palette.
Dim colors As New List(Of System.Windows.Media.Color)()
colors.Add(System.Windows.Media.Colors.Red)
colors.Add(System.Windows.Media.Colors.Blue)
colors.Add(System.Windows.Media.Colors.Green)
Dim myPalette As New BitmapPalette(colors)
' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As New TextBlock()
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString()
encoder.Frames.Add(BitmapFrame.Create(image))
MessageBox.Show(myPalette.Colors.Count.ToString())
encoder.Save(stream)
Contoh kode berikut menunjukkan cara menggunakan BitmapFrame objek untuk membuka grafik Portable Network Graphics (PNG) dan menulis metadata dengan menggunakan CreateInPlaceBitmapMetadataWriter metode .
Stream^ pngStream = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::ReadWrite, FileShare::ReadWrite);
PngBitmapDecoder^ pngDecoder = gcnew PngBitmapDecoder(pngStream, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapFrame^ pngFrame = pngDecoder->Frames[0];
InPlaceBitmapMetadataWriter^ pngInplace = pngFrame->CreateInPlaceBitmapMetadataWriter();
if (pngInplace->TrySave() == true)
{
pngInplace->SetQuery("/Text/Description", "Have a nice day.");
}
pngStream->Close();
Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave() == true)
{ pngInplace.SetQuery("/Text/Description", "Have a nice day."); }
pngStream.Close();
Dim pngStream As New System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim pngDecoder As New PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim pngFrame As BitmapFrame = pngDecoder.Frames(0)
Dim pngInplace As InPlaceBitmapMetadataWriter = pngFrame.CreateInPlaceBitmapMetadataWriter()
If pngInplace.TrySave() = True Then
pngInplace.SetQuery("/Text/Description", "Have a nice day.")
End If
pngStream.Close()
Keterangan
BitmapFrame menyediakan fungsionalitas tambahan yang tidak ditentukan dengan BitmapSource menyediakan akses ke Thumbnail bingkai gambar tertentu yang terkait. BitmapFrame juga mendukung penulisan informasi metadata dengan menggunakan Metadata properti atau CreateInPlaceBitmapMetadataWriter metode .
Setiap BitmapFrame yang dikembalikan dari dekoder selalu dibekukan. Jika Anda memerlukan salinan yang dapat dimodifikasi, Anda harus terlebih dahulu membuat salinan BitmapFrame dengan menggunakan Clone metode .
Hanya gambar format Format File Gambar Bertag (TIFF) dan Graphics Interchange Format (GIF) yang mendukung beberapa bingkai.
Konstruktor
BitmapFrame() |
Menginisialisasi instans baru kelas BitmapFrame. |
Properti
BaseUri |
Saat ditimpa dalam kelas turunan, mendapatkan atau menetapkan nilai yang mewakili dasar Uri konteks saat ini. |
CanFreeze |
Mendapatkan nilai yang menunjukkan apakah objek dapat dibuat tidak dapat dimodifikasi. (Diperoleh dari Freezable) |
ColorContexts |
Ketika ditimpa di kelas turunan ColorContext , mendapatkan kumpulan objek yang terkait dengan ini BitmapFrame. |
Decoder |
Ketika ditimpa di kelas turunan, mendapatkan dekoder yang terkait dengan instans ini dari BitmapFrame. |
DependencyObjectType |
Mendapatkan yang membungkus jenis CLR dari instans DependencyObjectType ini. (Diperoleh dari DependencyObject) |
Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
DpiX |
Mendapatkan titik horizontal per inci (dpi) gambar. (Diperoleh dari BitmapSource) |
DpiY |
Mendapatkan titik vertikal per inci (dpi) gambar. (Diperoleh dari BitmapSource) |
Format |
Mendapatkan asli PixelFormat data bitmap. (Diperoleh dari BitmapSource) |
HasAnimatedProperties |
Mendapatkan nilai yang menunjukkan apakah satu atau beberapa AnimationClock objek dikaitkan dengan salah satu properti dependensi objek ini. (Diperoleh dari Animatable) |
Height |
Mendapatkan tinggi bitmap sumber di unit independen perangkat (1/96 inci per unit). (Diperoleh dari BitmapSource) |
IsDownloading |
Mendapatkan nilai yang menunjukkan apakah BitmapSource konten sedang diunduh. (Diperoleh dari BitmapSource) |
IsFrozen |
Mendapatkan nilai yang menunjukkan apakah objek saat ini dapat dimodifikasi. (Diperoleh dari Freezable) |
IsSealed |
Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja). (Diperoleh dari DependencyObject) |
Metadata |
Mendapatkan metadata yang terkait dengan gambar bitmap ini. (Diperoleh dari BitmapSource) |
Palette |
Mendapatkan palet warna bitmap, jika ditentukan. (Diperoleh dari BitmapSource) |
PixelHeight |
Mendapatkan tinggi bitmap dalam piksel. (Diperoleh dari BitmapSource) |
PixelWidth |
Mendapatkan lebar bitmap dalam piksel. (Diperoleh dari BitmapSource) |
Thumbnail |
Ketika ditimpa di kelas turunan, mendapatkan gambar mini yang terkait dengan ini BitmapFrame. |
Width |
Mendapatkan lebar bitmap dalam unit independen perangkat (1/96 inci per unit). (Diperoleh dari BitmapSource) |
Metode
ApplyAnimationClock(DependencyProperty, AnimationClock) |
AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan. (Diperoleh dari Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, yang ditentukan HandoffBehavior akan digunakan. (Diperoleh dari Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan. (Diperoleh dari Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, properti yang ditentukan HandoffBehavior akan digunakan. (Diperoleh dari Animatable) |
CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
CheckIfSiteOfOrigin() |
Memeriksa apakah konten sumber bitmap berasal dari situs asal yang diketahui. Metode ini digunakan untuk memastikan bahwa operasi penyalinan piksel aman. (Diperoleh dari BitmapSource) |
ClearValue(DependencyProperty) |
Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi. (Diperoleh dari DependencyObject) |
ClearValue(DependencyPropertyKey) |
Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey. (Diperoleh dari DependencyObject) |
Clone() |
Membuat kloning yang dapat dimodifikasi dari ini BitmapSource, membuat salinan mendalam dari nilai objek ini. Saat menyalin properti dependensi, metode ini menyalin referensi sumber daya dan pengikatan data (tetapi mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini. (Diperoleh dari BitmapSource) |
CloneCore(Freezable) |
Menjadikan instans ini salinan mendalam dari yang ditentukan BitmapSource. Saat menyalin properti dependensi, metode ini menyalin referensi sumber daya dan pengikatan data (tetapi mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini. (Diperoleh dari BitmapSource) |
CloneCurrentValue() |
Membuat klon yang dapat dimodifikasi dari objek ini BitmapSource , membuat salinan mendalam dari nilai objek ini saat ini. Referensi sumber daya, pengikatan data, dan animasi tidak disalin, tetapi nilainya saat ini. (Diperoleh dari BitmapSource) |
CloneCurrentValueCore(Freezable) |
Menjadikan instans ini salinan mendalam yang dapat dimodifikasi dari yang ditentukan BitmapSource menggunakan nilai properti saat ini. Referensi sumber daya, pengikatan data, dan animasi tidak disalin, tetapi nilainya saat ini. (Diperoleh dari BitmapSource) |
CoerceValue(DependencyProperty) |
Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject. (Diperoleh dari DependencyObject) |
CopyPixels(Array, Int32, Int32) |
Menyalin data piksel bitmap ke dalam array piksel dengan langkah yang ditentukan, dimulai dari offset yang ditentukan. (Diperoleh dari BitmapSource) |
CopyPixels(Int32Rect, Array, Int32, Int32) |
Menyalin data piksel bitmap dalam persegi panjang yang ditentukan ke dalam array piksel yang memiliki langkah yang ditentukan dimulai pada offset yang ditentukan. (Diperoleh dari BitmapSource) |
CopyPixels(Int32Rect, IntPtr, Int32, Int32) |
Menyalin data piksel bitmap dalam persegi yang ditentukan. (Diperoleh dari BitmapSource) |
Create(BitmapSource) |
Membuat baru BitmapFrame dari yang diberikan BitmapSource. |
Create(BitmapSource, BitmapSource) |
Membuat baru BitmapFrame dari yang diberikan BitmapSource dengan gambar mini yang ditentukan. |
Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>) |
Membuat baru BitmapFrame dari yang diberikan BitmapSource dengan gambar mini yang ditentukan, BitmapMetadata, dan ColorContext. |
Create(Stream) |
Membuat baru BitmapFrame dari yang diberikan Stream. |
Create(Stream, BitmapCreateOptions, BitmapCacheOption) |
Membuat baru BitmapFrame dari yang diberikan Stream dengan yang ditentukan BitmapCreateOptions dan BitmapCacheOption. |
Create(Uri) |
Membuat baru BitmapFrame dari yang diberikan Uri. |
Create(Uri, BitmapCreateOptions, BitmapCacheOption) |
BitmapFrame Membuat dari yang diberikan Uri dengan yang ditentukan BitmapCreateOptions dan BitmapCacheOption. |
Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy) |
BitmapFrame Membuat dari yang diberikan Uri dengan , , BitmapCacheOptiondan RequestCachePolicyyang ditentukanBitmapCreateOptions. |
Create(Uri, RequestCachePolicy) |
BitmapFrame Membuat dari yang diberikan Uri dengan yang ditentukanRequestCachePolicy. |
CreateInPlaceBitmapMetadataWriter() |
Ketika ditimpa di kelas turunan InPlaceBitmapMetadataWriter, membuat instans , yang dapat digunakan untuk mengaitkan metadata dengan BitmapFrame. |
CreateInstance() |
Menginisialisasi instans baru kelas Freezable. (Diperoleh dari Freezable) |
CreateInstanceCore() |
Saat diimplementasikan di kelas turunan, membuat instans baru dari kelas turunan Freezable . (Diperoleh dari Freezable) |
Equals(Object) |
Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject. (Diperoleh dari DependencyObject) |
Freeze() |
Membuat objek saat ini tidak dapat dimodifikasi dan mengatur propertinya IsFrozen ke |
FreezeCore(Boolean) |
Membuat instans BitmapSource atau kelas turunan tidak dapat diubah. (Diperoleh dari BitmapSource) |
GetAnimationBaseValue(DependencyProperty) |
Mengembalikan nilai non-animasi dari yang ditentukan DependencyProperty. (Diperoleh dari Animatable) |
GetAsFrozen() |
Membuat salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi. (Diperoleh dari Freezable) |
GetAsFrozenCore(Freezable) |
Menjadikan instans ini sebagai klon objek yang ditentukan BitmapSource . (Diperoleh dari BitmapSource) |
GetCurrentValueAsFrozen() |
Membuat salinan beku dari Freezable menggunakan nilai properti saat ini. Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi. (Diperoleh dari Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Menjadikan instans ini sebagai klon beku dari yang ditentukan BitmapSource. Referensi sumber daya, pengikatan data, dan animasi tidak disalin, tetapi nilainya saat ini. (Diperoleh dari BitmapSource) |
GetHashCode() |
Mendapatkan kode hash untuk ini DependencyObject. (Diperoleh dari DependencyObject) |
GetLocalValueEnumerator() |
Membuat enumerator khusus untuk menentukan properti dependensi mana yang memiliki nilai yang ditetapkan secara lokal pada ini DependencyObject. (Diperoleh dari DependencyObject) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
GetValue(DependencyProperty) |
Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject. (Diperoleh dari DependencyObject) |
InvalidateProperty(DependencyProperty) |
Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan. (Diperoleh dari DependencyObject) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnChanged() |
Dipanggil ketika objek saat ini Freezable dimodifikasi. (Diperoleh dari Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Memastikan bahwa penunjuk konteks yang sesuai ditetapkan untuk DependencyObjectType anggota data yang baru saja ditetapkan. (Diperoleh dari Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. (Diperoleh dari Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Mengambil alih DependencyObject implementasi OnPropertyChanged(DependencyPropertyChangedEventArgs) untuk juga memanggil penangan apa pun Changed sebagai respons terhadap properti dependensi yang berubah dari jenis Freezable. (Diperoleh dari Freezable) |
ReadLocalValue(DependencyProperty) |
Mengembalikan nilai lokal properti dependensi, jika ada. (Diperoleh dari DependencyObject) |
ReadPreamble() |
Memastikan bahwa Freezable sedang diakses dari utas yang valid. Pewaris Freezable harus memanggil metode ini di awal API apa pun yang membaca anggota data yang bukan properti dependensi. (Diperoleh dari Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Mengatur nilai properti dependensi tanpa mengubah sumber nilainya. (Diperoleh dari DependencyObject) |
SetValue(DependencyProperty, Object) |
Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya. (Diperoleh dari DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi. (Diperoleh dari DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai untuk properti dependensi yang disediakan. (Diperoleh dari DependencyObject) |
ToString() |
Membuat representasi string objek ini berdasarkan budaya saat ini. (Diperoleh dari ImageSource) |
ToString(IFormatProvider) |
Membuat representasi string objek ini berdasarkan yang IFormatProvider diteruskan. Jika penyedia adalah |
VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
WritePostscript() |
Menaikkan Changed peristiwa untuk Freezable dan memanggil metodenya OnChanged() . Kelas yang berasal dari Freezable harus memanggil metode ini di akhir API apa pun yang memodifikasi anggota kelas yang tidak disimpan sebagai properti dependensi. (Diperoleh dari Freezable) |
WritePreamble() |
Memverifikasi bahwa Freezable tidak dibekukan dan sedang diakses dari konteks utas yang valid. Freezable pewaris harus memanggil metode ini di awal API apa pun yang menulis ke anggota data yang bukan properti dependensi. (Diperoleh dari Freezable) |
Acara
Changed |
Terjadi ketika Freezable atau objek yang dikandungnya dimodifikasi. (Diperoleh dari Freezable) |
DecodeFailed |
Terjadi ketika gambar gagal dimuat, karena header gambar yang rusak. (Diperoleh dari BitmapSource) |
DownloadCompleted |
Terjadi ketika konten bitmap telah diunduh sepenuhnya. (Diperoleh dari BitmapSource) |
DownloadFailed |
Terjadi ketika konten bitmap gagal diunduh. (Diperoleh dari BitmapSource) |
DownloadProgress |
Terjadi ketika kemajuan pengunduhan konten bitmap telah berubah. (Diperoleh dari BitmapSource) |
Implementasi Antarmuka Eksplisit
IFormattable.ToString(String, IFormatProvider) |
Memformat nilai instans saat ini menggunakan format yang ditentukan. (Diperoleh dari ImageSource) |