BitmapFrame Kelas

Definisi

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 true.

(Diperoleh dari Freezable)
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 null, CurrentCulture digunakan.

(Diperoleh dari ImageSource)
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)

Berlaku untuk

Lihat juga