Aracılığıyla paylaş


BitmapFrame Sınıf

Tanım

Kod çözücü tarafından döndürülen ve kodlayıcılar tarafından kabul edilen görüntü verilerini temsil eder.

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
Devralma
Uygulamalar

Örnekler

Aşağıdaki kod örneği, kullanarak BitmapFrameyeni BitmapSource oluşturma işlemini gösterir.

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)

Aşağıdaki kod örneği, bir Taşınabilir Ağ Grafikleri (PNG) grafiği açmak ve yöntemini kullanarak meta veri yazmak için nesnesinin CreateInPlaceBitmapMetadataWriter nasıl kullanılacağını BitmapFrame gösterir.

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())
{
   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())
{ 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()

Açıklamalar

BitmapFrame, görüntünün belirli bir çerçevesiyle ilişkilendirilmiş olana Thumbnail erişim sağlayarak tanımlanmayan BitmapSource ek işlevler sağlar. BitmapFrame ayrıca özelliğini veya yöntemini kullanarak Metadata meta veri bilgilerinin yazsını CreateInPlaceBitmapMetadataWriter destekler.

BitmapFrame Kod çözücüden döndürülenler her zaman dondurulur. Değiştirilebilir bir kopyaya ihtiyacınız varsa, önce yöntemini kullanarak öğesinin BitmapFrameClone bir kopyasını oluşturmanız gerekir.

Yalnızca Etiketli Görüntü Dosyası Biçimi (TIFF) ve Grafik Değişim Biçimi (GIF) biçimindeki görüntüler birden çok kareyi destekler.

Oluşturucular

Name Description
BitmapFrame()

BitmapFrame sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
BaseUri

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli bağlamın tabanını Uri temsil eden bir değer alır veya ayarlar.

CanFreeze

Nesnenin değiştirilemez hale getirilip getirilemeyeceğini gösteren bir değer alır.

(Devralındığı yer: Freezable)
ColorContexts

Türetilmiş bir sınıfta geçersiz kılındığında, bu BitmapFrameile ilişkilendirilmiş bir nesne koleksiyonu ColorContext alır.

Decoder

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğiyle ilişkilendirilmiş kod çözücü alır BitmapFrame.

DependencyObjectType

DependencyObjectType Bu örneğin CLR türünü sarmalayan öğesini alır.

(Devralındığı yer: DependencyObject)
Dispatcher

Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini alır.

(Devralındığı yer: DispatcherObject)
DpiX

Görüntünün inç başına yatay noktaları (dpi) alır.

(Devralındığı yer: BitmapSource)
DpiY

Görüntünün inç başına dikey noktaları (dpi) alır.

(Devralındığı yer: BitmapSource)
Format

Bit eşlem verilerinin yerelini PixelFormat alır.

(Devralındığı yer: BitmapSource)
HasAnimatedProperties

Bir veya daha fazla AnimationClock nesnenin bu nesnenin bağımlılık özelliklerinden herhangi biriyle ilişkili olup olmadığını gösteren bir değer alır.

(Devralındığı yer: Animatable)
Height

Kaynak bit eşleminin yüksekliğini cihazdan bağımsız birimlerde (birim başına 1/96 inç) alır.

(Devralındığı yer: BitmapSource)
IsDownloading

İçeriğin şu anda indirilip indirilmediğini BitmapSource gösteren bir değer alır.

(Devralındığı yer: BitmapSource)
IsFrozen

Nesnenin şu anda değiştirilebilir olup olmadığını gösteren bir değer alır.

(Devralındığı yer: Freezable)
IsSealed

Bu örneğin şu anda korumalı (salt okunur) olup olmadığını gösteren bir değer alır.

(Devralındığı yer: DependencyObject)
Metadata

Bu bit eşlem görüntüsüyle ilişkili meta verileri alır.

(Devralındığı yer: BitmapSource)
Palette

Bit eşlem belirtilmişse, bit eşlem renk paletini alır.

(Devralındığı yer: BitmapSource)
PixelHeight

Bit eşlem yüksekliğini piksel cinsinden alır.

(Devralındığı yer: BitmapSource)
PixelWidth

Bit eşlem genişliğini piksel cinsinden alır.

(Devralındığı yer: BitmapSource)
Thumbnail

Türetilmiş bir sınıfta geçersiz kılındığında, bu BitmapFrameile ilişkilendirilmiş küçük resim görüntüsünü alır.

Width

Bit eşlem genişliğini cihazdan bağımsız birimler halinde (birim başına 1/96 inç) alır.

(Devralındığı yer: BitmapSource)

Yöntemler

Name Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Belirtilen DependencyPropertyöğesine bir AnimationClock uygular. Özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır.

(Devralındığı yer: Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Belirtilen DependencyPropertyöğesine bir AnimationClock uygular. Özelliği zaten animasyonlu ise, SnapshotAndReplace iletim davranışı kullanılır.

(Devralındığı yer: Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Belirtilen DependencyPropertyöğesine bir animasyon uygular. Animasyon, sonraki çerçeve işlendiğinde başlatılır. Belirtilen özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır.

(Devralındığı yer: Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Belirtilen DependencyPropertyöğesine bir animasyon uygular. Animasyon, sonraki çerçeve işlendiğinde başlatılır. Belirtilen özellik zaten animasyonluysa, SnapshotAndReplace iletim davranışı kullanılır.

(Devralındığı yer: Animatable)
CheckAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler.

(Devralındığı yer: DispatcherObject)
CheckIfSiteOfOrigin()

Bit eşlem kaynak içeriğinin bilinen bir kaynak sitesinden olup olmadığını denetler. Bu yöntem, piksel kopyalama işlemlerinin güvenli olduğundan emin olmak için kullanılır.

(Devralındığı yer: BitmapSource)
ClearValue(DependencyProperty)

Bir özelliğin yerel değerini temizler. Temizlenecek özellik bir DependencyProperty tanımlayıcı tarafından belirtilir.

(Devralındığı yer: DependencyObject)
ClearValue(DependencyPropertyKey)

Salt okunur özelliğin yerel değerini temizler. Temizlenecek özellik tarafından DependencyPropertyKeybelirtilir.

(Devralındığı yer: DependencyObject)
Clone()

Bu BitmapSourcenesnenin değerlerinin derin kopyalarını oluşturarak bu öğesinin değiştirilebilir bir kopyasını oluşturur. Bağımlılık özelliklerini kopyalarken, bu yöntem kaynak başvurularını ve veri bağlamalarını kopyalar (ancak bunlar artık çözümlenmeyebilir) ancak animasyonları veya geçerli değerlerini kopyalar.

(Devralındığı yer: BitmapSource)
CloneCore(Freezable)

Bu örneği, belirtilen BitmapSourceöğesinin derin bir kopyası yapar. Bağımlılık özelliklerini kopyalarken, bu yöntem kaynak başvurularını ve veri bağlamalarını kopyalar (ancak bunlar artık çözümlenmeyebilir) ancak animasyonları veya geçerli değerlerini kopyalar.

(Devralındığı yer: BitmapSource)
CloneCurrentValue()

Bu nesnenin değiştirilebilir bir kopyasını oluşturarak bu BitmapSource nesnenin geçerli değerlerinin derin kopyalarını oluşturur. Kaynak başvuruları, veri bağlamaları ve animasyonlar kopyalanmaz, ancak geçerli değerleri kopyalanır.

(Devralındığı yer: BitmapSource)
CloneCurrentValueCore(Freezable)

Bu örneği, geçerli özellik değerlerini kullanarak belirtilenlerin BitmapSource değiştirilebilir bir derin kopyası yapar. Kaynak başvuruları, veri bağlamaları ve animasyonlar kopyalanmaz, ancak geçerli değerleri kopyalanır.

(Devralındığı yer: BitmapSource)
CoerceValue(DependencyProperty)

Belirtilen bağımlılık özelliğinin değerini zorlama. Bu, çağrısında CoerceValueCallbackvar olan bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir DependencyObject işlevi çağırarak gerçekleştirilir.

(Devralındığı yer: DependencyObject)
CopyPixels(Array, Int32, Int32)

Bit eşlem piksel verilerini belirtilen uzaklıkta başlayarak belirtilen adımla bir piksel dizisine kopyalar.

(Devralındığı yer: BitmapSource)
CopyPixels(Int32Rect, Array, Int32, Int32)

Belirtilen dikdörtgen içindeki bit eşlem piksel verilerini, belirtilen uzaklıkta başlayan belirtilen adıma sahip bir piksel dizisine kopyalar.

(Devralındığı yer: BitmapSource)
CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Bit eşlem piksel verilerini belirtilen dikdörtgen içinde kopyalar.

(Devralındığı yer: BitmapSource)
Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>)

Belirtilen küçük resim BitmapMetadata, ve ColorContextile verilenden BitmapSource yeni BitmapFrame bir oluşturur.

Create(BitmapSource, BitmapSource)

Belirtilen küçük resimle verilenden BitmapSource yeni BitmapFrame bir oluşturur.

Create(BitmapSource)

Belirli BitmapSourcebir sürümünden yeni BitmapFrame bir oluşturur.

Create(Stream, BitmapCreateOptions, BitmapCacheOption)

belirtilen BitmapCreateOptions ve BitmapCacheOptionile verilenden Stream yeni BitmapFrame bir oluşturur.

Create(Stream)

Belirli Streambir sürümünden yeni BitmapFrame bir oluşturur.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Belirtilen BitmapCreateOptions, BitmapCacheOptionve RequestCachePolicyile verilenden Uri bir BitmapFrame oluşturur.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

belirtilen BitmapCreateOptions ve BitmapCacheOptionile verilen'den Uri bir BitmapFrame oluşturur.

Create(Uri, RequestCachePolicy)

Belirtilen RequestCachePolicyile verilenden Uri bir BitmapFrame oluşturur.

Create(Uri)

Belirli Uribir sürümünden yeni BitmapFrame bir oluşturur.

CreateInPlaceBitmapMetadataWriter()

Türetilmiş bir sınıfta geçersiz kılındığında, meta verileri ile ilişkilendirmek için kullanılabilecek bir BitmapFrameörneği InPlaceBitmapMetadataWriteroluşturur.

CreateInstance()

Freezable sınıfının yeni bir örneğini başlatır.

(Devralındığı yer: Freezable)
CreateInstanceCore()

Türetilmiş bir sınıfta uygulandığında, türetilmiş sınıfın Freezable yeni bir örneğini oluşturur.

(Devralındığı yer: Freezable)
Equals(Object)

Sağlanan DependencyObject öğesinin geçerli DependencyObjectile eşdeğer olup olmadığını belirler.

(Devralındığı yer: DependencyObject)
Freeze()

Geçerli nesneyi değiştirilemez hale getirir ve özelliğini olarak trueayarlarIsFrozen.

(Devralındığı yer: Freezable)
FreezeCore(Boolean)

veya türetilmiş bir sınıfın BitmapSource örneğini sabit hale getirir.

(Devralındığı yer: BitmapSource)
GetAnimationBaseValue(DependencyProperty)

Belirtilen DependencyPropertyöğesinin animasyonsuz değerini döndürür.

(Devralındığı yer: Animatable)
GetAsFrozen()

temel (animasyonsuz) özellik değerlerini kullanarak donmuş bir kopyasını Freezableoluşturur. Kopya dondurulacağından, dondurulan alt nesneler başvuruyla kopyalanır.

(Devralındığı yer: Freezable)
GetAsFrozenCore(Freezable)

Bu örneği belirtilen BitmapSource nesnenin bir kopyası yapar.

(Devralındığı yer: BitmapSource)
GetCurrentValueAsFrozen()

Geçerli özellik değerlerini kullanarak donmuş Freezable bir kopyasını oluşturur. Kopya dondurulacağından, dondurulan alt nesneler başvuruyla kopyalanır.

(Devralındığı yer: Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Bu örneği, belirtilen BitmapSourceöğesinin donmuş bir kopyası yapar. Kaynak başvuruları, veri bağlamaları ve animasyonlar kopyalanmaz, ancak geçerli değerleri kopyalanır.

(Devralındığı yer: BitmapSource)
GetHashCode()

Bu DependencyObjectiçin bir karma kodu alır.

(Devralındığı yer: DependencyObject)
GetLocalValueEnumerator()

Hangi bağımlılık özelliklerinin bu DependencyObjectüzerinde yerel olarak ayarlı değerlere sahip olduğunu belirlemek için özel bir numaralandırıcı oluşturur.

(Devralındığı yer: DependencyObject)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
GetValue(DependencyProperty)

Bir öğesinin bu örneğindeki bir bağımlılık özelliğinin DependencyObjectgeçerli etkin değerini döndürür.

(Devralındığı yer: DependencyObject)
InvalidateProperty(DependencyProperty)

Belirtilen bağımlılık özelliği için geçerli değeri yeniden değerlendirir.

(Devralındığı yer: DependencyObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnChanged()

Geçerli Freezable nesne değiştirildiğinde çağrılır.

(Devralındığı yer: Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Bu üye Windows Presentation Foundation (WPF) altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır.

(Devralındığı yer: Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Yeni ayarlanmış bir DependencyObjectType veri üyesi için uygun bağlam işaretçilerinin oluşturulmasını sağlar.

(Devralındığı yer: Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

türündeki DependencyObjectFreezabledeğişen bağımlılık özelliğine yanıt olarak herhangi Changed bir işleyici çağırmak için uygulamasını OnPropertyChanged(DependencyPropertyChangedEventArgs) geçersiz kılar.

(Devralındığı yer: Freezable)
ReadLocalValue(DependencyProperty)

Varsa, bağımlılık özelliğinin yerel değerini döndürür.

(Devralındığı yer: DependencyObject)
ReadPreamble()

Freezable geçerli bir iş parçacığından erişildiğinden emin olur. öğesinin Freezable devralanları, bağımlılık özellikleri olmayan veri üyelerini okuyan herhangi bir API'nin başında bu yöntemi çağırmalıdır.

(Devralındığı yer: Freezable)
SetCurrentValue(DependencyProperty, Object)

Bir bağımlılık özelliğinin değerini, değer kaynağını değiştirmeden ayarlar.

(Devralındığı yer: DependencyObject)
SetValue(DependencyProperty, Object)

Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar.

(Devralındığı yer: DependencyObject)
SetValue(DependencyPropertyKey, Object)

Bağımlılık özelliğinin tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin DependencyPropertyKey yerel değerini ayarlar.

(Devralındığı yer: DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Serileştirme işlemlerinin sağlanan bağımlılık özelliği için değeri serileştirmesi gerekip gerekmediğini gösteren bir değer döndürür.

(Devralındığı yer: DependencyObject)
ToString()

Geçerli kültüre göre bu nesnenin dize gösterimini oluşturur.

(Devralındığı yer: ImageSource)
ToString(IFormatProvider)

Geçirilen öğesini temel alarak bu nesnenin dize gösterimini IFormatProvider oluşturur. Sağlayıcı ise nullCurrentCulture kullanılır.

(Devralındığı yer: ImageSource)
VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar.

(Devralındığı yer: DispatcherObject)
WritePostscript()

Changed için Freezable olayını oluşturur ve yöntemini çağırırOnChanged(). öğesinden Freezable türetilen sınıflar, bağımlılık özellikleri olarak depolanmayan sınıf üyelerini değiştiren herhangi bir API'nin sonunda bu yöntemi çağırmalıdır.

(Devralındığı yer: Freezable)
WritePreamble()

öğesinin Freezable dondurulmadığını ve geçerli bir iş parçacığı bağlamından erişildiğini doğrular. Freezable devralanların, bağımlılık özellikleri olmayan veri üyelerine yazan herhangi bir API'nin başında bu yöntemi çağırması gerekir.

(Devralındığı yer: Freezable)

Ekinlikler

Name Description
Changed

veya içerdiği bir nesne değiştirildiğinde Freezable gerçekleşir.

(Devralındığı yer: Freezable)
DecodeFailed

Bozuk bir görüntü üst bilgisi nedeniyle görüntü yüklenemediğinde gerçekleşir.

(Devralındığı yer: BitmapSource)
DownloadCompleted

Bit eşlem içeriği tamamen indirildiğinde gerçekleşir.

(Devralındığı yer: BitmapSource)
DownloadFailed

Bit eşlem içeriği indirilemediğinde gerçekleşir.

(Devralındığı yer: BitmapSource)
DownloadProgress

Bit eşlem içeriğinin indirme ilerleme durumu değiştiğinde gerçekleşir.

(Devralındığı yer: BitmapSource)

Belirtik Arabirim Kullanımları

Name Description
IFormattable.ToString(String, IFormatProvider)

Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin.

(Devralındığı yer: ImageSource)

Şunlara uygulanır

Ayrıca bkz.