BitmapFrame Osztály

Definíció

A dekódoló által visszaadott és kódolók által elfogadott képadatokat jelöli.

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
Öröklődés
Megvalósítás

Példák

Az alábbi példakód bemutatja, hogyan hozhat létre újat BitmapSource egy 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)

Az alábbi példakód bemutatja, hogyan nyithat meg egy PNG-ábrát az BitmapFrame objektummal, és hogyan írhat metaadatokat a CreateInPlaceBitmapMetadataWriter metódussal.

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

Megjegyzések

BitmapFrame olyan további funkciókat biztosít, amelyek BitmapSource nem úgy határoznak meg, hogy hozzáférést biztosítanak egy Thumbnail kép egy adott keretéhez. BitmapFrame A metaadat-adatok írását a tulajdonság vagy a MetadataCreateInPlaceBitmapMetadataWriter metódus használatával is támogatja.

A dekóderből visszaküldött minden BitmapFrame adat mindig le van fagyasztva. Ha módosítható másolatra van szüksége, először létre kell hoznia egy másolatot a BitmapFrameClone metódussal.

Csak a címkézett képfájlformátum (TIFF) és a gif formátumú képek támogatnak több képkockát.

Konstruktorok

Name Description
BitmapFrame()

Inicializálja a BitmapFrame osztály új példányát.

Tulajdonságok

Name Description
BaseUri

Ha egy származtatott osztályban felül van bírálva, lekéri vagy beállít egy értéket, amely az aktuális környezet alapját Uri képviseli.

CanFreeze

Olyan értéket kap, amely jelzi, hogy az objektum módosítható-e.

(Öröklődés forrása Freezable)
ColorContexts

Ha felül van bírálva egy származtatott osztályban, a rendszer lekéri az ehhez ColorContexttársított objektumok gyűjteményétBitmapFrame.

Decoder

Ha felül van bírálva egy származtatott osztályban, a dekóder az adott példányhoz BitmapFramelesz társítva.

DependencyObjectType

Lekéri a DependencyObjectType példány CLR-típusát körbefuttatót.

(Öröklődés forrása DependencyObject)
Dispatcher

Lekérdezi, Dispatcher hogy ez a társítva van-e DispatcherObject .

(Öröklődés forrása DispatcherObject)
DpiX

Lekéri a kép vízszintes pont/hüvelyk (dpi) pontját.

(Öröklődés forrása BitmapSource)
DpiY

Lekéri a kép függőleges pont/hüvelyk (dpi) pontját.

(Öröklődés forrása BitmapSource)
Format

Lekéri a bitképadatok natív PixelFormat adatait.

(Öröklődés forrása BitmapSource)
HasAnimatedProperties

Olyan értéket kap, amely jelzi, hogy egy vagy több AnimationClock objektum társítva van-e az objektum függőségi tulajdonságainak bármelyikéhez.

(Öröklődés forrása Animatable)
Height

Lekéri a forrásbitkép magasságát az eszközfüggetlen egységekben (egységenként 1/96 hüvelyk).

(Öröklődés forrása BitmapSource)
IsDownloading

Olyan értéket kap, amely jelzi, hogy a BitmapSource tartalom éppen letöltődött-e.

(Öröklődés forrása BitmapSource)
IsFrozen

Olyan értéket kap, amely jelzi, hogy az objektum jelenleg módosítható-e.

(Öröklődés forrása Freezable)
IsSealed

Olyan értéket kap, amely jelzi, hogy a példány jelenleg zárolva van-e (írásvédett).

(Öröklődés forrása DependencyObject)
Metadata

Lekéri a bitképhez társított metaadatokat.

(Öröklődés forrása BitmapSource)
Palette

Lekéri a bitkép színpalettáját, ha van megadva.

(Öröklődés forrása BitmapSource)
PixelHeight

Képpontban adja meg a bitkép magasságát.

(Öröklődés forrása BitmapSource)
PixelWidth

A bitkép szélességét képpontban adja meg.

(Öröklődés forrása BitmapSource)
Thumbnail

Ha felül van bírálva egy származtatott osztályban, lekéri az ehhez BitmapFrametársított miniatűrképet.

Width

Lekéri a bitkép szélességét az eszközfüggetlen egységekben (egységenként 1/96 hüvelyk).

(Öröklődés forrása BitmapSource)

Metódusok

Name Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Alkalmazza AnimationClock a megadott DependencyProperty. Ha a tulajdonság már animálva van, a rendszer a megadott HandoffBehavior értéket használja.

(Öröklődés forrása Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Alkalmazza AnimationClock a megadott DependencyProperty. Ha a tulajdonság már animálva van, a rendszer az SnapshotAndReplace átadási viselkedést használja.

(Öröklődés forrása Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Animációt alkalmaz a megadottra DependencyProperty. Az animáció a következő képkocka megjelenítésekor indul el. Ha a megadott tulajdonság már animálva van, a rendszer a megadott HandoffBehavior tulajdonságot használja.

(Öröklődés forrása Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Animációt alkalmaz a megadottra DependencyProperty. Az animáció a következő képkocka megjelenítésekor indul el. Ha a megadott tulajdonság már animálva van, a rendszer az SnapshotAndReplace átadási viselkedést használja.

(Öröklődés forrása Animatable)
CheckAccess()

Meghatározza, hogy a hívó szál hozzáfér-e ehhez DispatcherObject.

(Öröklődés forrása DispatcherObject)
CheckIfSiteOfOrigin()

Ellenőrzi, hogy a bitkép forrástartalma ismert forráshelyről származik-e. Ezzel a módszerrel biztosítható, hogy a képpontmásolási műveletek biztonságosak legyenek.

(Öröklődés forrása BitmapSource)
ClearValue(DependencyProperty)

Törli egy tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyProperty azonosító határozza meg.

(Öröklődés forrása DependencyObject)
ClearValue(DependencyPropertyKey)

Törli egy írásvédett tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyPropertyKey.

(Öröklődés forrása DependencyObject)
Clone()

Ennek egy módosítható klónját BitmapSourcehozza létre, amely az objektum értékeinek részletes másolatát készíti el. A függőségi tulajdonságok másolásakor ez a módszer az erőforrás-hivatkozásokat és az adatkötéseket másolja (de előfordulhat, hogy ezek már nem oldódnak fel), de nem animációkat vagy az aktuális értékeket.

(Öröklődés forrása BitmapSource)
CloneCore(Freezable)

Ez a példány a megadott példány mély másolatává válik BitmapSource. A függőségi tulajdonságok másolásakor ez a módszer az erőforrás-hivatkozásokat és az adatkötéseket másolja (de előfordulhat, hogy ezek már nem oldódnak fel), de nem animációkat vagy az aktuális értékeket.

(Öröklődés forrása BitmapSource)
CloneCurrentValue()

Módosítható klónt hoz létre az BitmapSource objektumról, amely részletes másolatokat készít az objektum aktuális értékeiről. Az erőforráshivatkozások, az adatkötések és az animációk nem másolódnak, de az aktuális értékük igen.

(Öröklődés forrása BitmapSource)
CloneCurrentValueCore(Freezable)

Ez a példány módosítható mély másolattá teszi a megadottat BitmapSource az aktuális tulajdonságértékek használatával. Az erőforráshivatkozások, az adatkötések és az animációk nem másolódnak, de az aktuális értékük igen.

(Öröklődés forrása BitmapSource)
CoerceValue(DependencyProperty)

A megadott függőségi tulajdonság értékét kényszeríti. Ez úgy érhető el, hogy meghívja a függőségi tulajdonság tulajdonság metaadataiban megadott függvényeket CoerceValueCallback a hívás DependencyObjectsorán.

(Öröklődés forrása DependencyObject)
CopyPixels(Array, Int32, Int32)

A bitkép képpontadatait a megadott léptekkel rendelkező képponttömbbe másolja, a megadott eltolástól kezdve.

(Öröklődés forrása BitmapSource)
CopyPixels(Int32Rect, Array, Int32, Int32)

Másolja a bitkép képpontadatait a megadott téglalapon belül egy képponttömbbe, amely a megadott lépéssel rendelkezik a megadott eltolástól kezdve.

(Öröklődés forrása BitmapSource)
CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Másolja a bitkép képpontadatait a megadott téglalapba.

(Öröklődés forrása BitmapSource)
Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>)

Létrehoz egy újat BitmapFrame egy adott BitmapSource miniatűrnel BitmapMetadata, és ColorContext.

Create(BitmapSource, BitmapSource)

Létrehoz egy újat BitmapFrame a megadott miniatűrnel rendelkező adott BitmapSource elemből.

Create(BitmapSource)

Újat BitmapFrame hoz létre egy adott BitmapSourcehelyről.

Create(Stream, BitmapCreateOptions, BitmapCacheOption)

Létrehoz egy újat BitmapFrame a Stream megadott és BitmapCreateOptionsa .BitmapCacheOption

Create(Stream)

Újat BitmapFrame hoz létre egy adott Streamhelyről.

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

Létrehoz egy BitmapFrame adott Uri , a megadott BitmapCreateOptions, BitmapCacheOptionés RequestCachePolicy.

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

Létrehoz egy BitmapFrame adott Uri , a megadott BitmapCreateOptions és BitmapCacheOptiona .

Create(Uri, RequestCachePolicy)

Létrehoz egy BitmapFrame adott Uri és a megadott RequestCachePolicy.

Create(Uri)

Újat BitmapFrame hoz létre egy adott Urihelyről.

CreateInPlaceBitmapMetadataWriter()

Ha felül van bírálva egy származtatott osztályban, létrehoz egy példánytInPlaceBitmapMetadataWriter, amely a metaadatok társítására használható.BitmapFrame

CreateInstance()

Inicializálja a Freezable osztály új példányát.

(Öröklődés forrása Freezable)
CreateInstanceCore()

Ha egy származtatott osztályban implementálják, a származtatott osztály új példányát Freezable hozza létre.

(Öröklődés forrása Freezable)
Equals(Object)

Meghatározza, hogy a megadott DependencyObject érték megegyezik-e az aktuális DependencyObjectértékével.

(Öröklődés forrása DependencyObject)
Freeze()

Az aktuális objektum nem módosítható, és a tulajdonságát a következőre IsFrozenállítjatrue: .

(Öröklődés forrása Freezable)
FreezeCore(Boolean)

Egy példány BitmapSource vagy származtatott osztály nem módosíthatóvá válik.

(Öröklődés forrása BitmapSource)
GetAnimationBaseValue(DependencyProperty)

A megadott DependencyPropertyérték nem animált értékét adja vissza.

(Öröklődés forrása Animatable)
GetAsFrozen()

Az alaptulajdonságok Freezable(nem animált) értékeinek egy fagyasztott másolatát hozza létre. Mivel a másolat le van fagyasztva, a program hivatkozással másolja a befagyott alobjektumokat.

(Öröklődés forrása Freezable)
GetAsFrozenCore(Freezable)

Ez a példány a megadott BitmapSource objektum klónja lesz.

(Öröklődés forrása BitmapSource)
GetCurrentValueAsFrozen()

Az aktuális tulajdonságértékek fagyasztott másolatát Freezable hozza létre. Mivel a másolat le van fagyasztva, a program hivatkozással másolja a befagyott alobjektumokat.

(Öröklődés forrása Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Ez a példány a megadott BitmapSourceklón fagyasztott klónja lesz. Az erőforráshivatkozások, az adatkötések és az animációk nem másolódnak, de az aktuális értékük igen.

(Öröklődés forrása BitmapSource)
GetHashCode()

Ehhez lekéri a DependencyObjectkivonatkódot.

(Öröklődés forrása DependencyObject)
GetLocalValueEnumerator()

Létrehoz egy speciális enumerátort annak meghatározásához, hogy mely függőségi tulajdonságok rendelkeznek helyileg beállított értékekkel.DependencyObject

(Öröklődés forrása DependencyObject)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetValue(DependencyProperty)

Egy függőségi tulajdonság aktuális tényleges értékét adja vissza az adott példányon DependencyObject.

(Öröklődés forrása DependencyObject)
InvalidateProperty(DependencyProperty)

Újra kiértékeli a megadott függőségi tulajdonság tényleges értékét.

(Öröklődés forrása DependencyObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnChanged()

Az aktuális Freezable objektum módosításakor hívható meg.

(Öröklődés forrása Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ez a tag támogatja a Windows megjelenítési alaprendszer (WPF) infrastruktúrát, és nem közvetlenül a kódból való használatra szolgál.

(Öröklődés forrása Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Biztosítja, hogy a megfelelő környezeti mutatók létre legyenek hozva az DependencyObjectType éppen beállított adattagok számára.

(Öröklődés forrása Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Felülbírálja a DependencyObject változó típusú függőségi tulajdonságra válaszul a kezelők meghívásának OnPropertyChanged(DependencyPropertyChangedEventArgs)Changedvégrehajtását Freezable is.

(Öröklődés forrása Freezable)
ReadLocalValue(DependencyProperty)

Egy függőségi tulajdonság helyi értékét adja vissza, ha létezik.

(Öröklődés forrása DependencyObject)
ReadPreamble()

Biztosítja, hogy a Freezable rendszer érvényes szálról legyen elérhető. A metódus öröklőinek Freezable minden olyan API elején meg kell hívniuk ezt a metódust, amely olyan adattagokat olvas be, amelyek nem függőségi tulajdonságok.

(Öröklődés forrása Freezable)
SetCurrentValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság értékét az értékforrás módosítása nélkül.

(Öröklődés forrása DependencyObject)
SetValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság helyi értékét, amelyet a függőségi tulajdonság azonosítója határoz meg.

(Öröklődés forrása DependencyObject)
SetValue(DependencyPropertyKey, Object)

Beállítja egy írásvédett függőség tulajdonság helyi értékét, amelyet a DependencyPropertyKey függőségi tulajdonság azonosítója határoz meg.

(Öröklődés forrása DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Olyan értéket ad vissza, amely jelzi, hogy a szerializálási folyamatok szerializálják-e a megadott függőségi tulajdonság értékét.

(Öröklődés forrása DependencyObject)
ToString()

Az objektum sztring-ábrázolását hozza létre az aktuális kultúra alapján.

(Öröklődés forrása ImageSource)
ToString(IFormatProvider)

Sztringképet hoz létre az objektumról az IFormatProvider átadott fájl alapján. Ha a szolgáltató az null, akkor a rendszer használja a szolgáltatót CurrentCulture .

(Öröklődés forrása ImageSource)
VerifyAccess()

Kényszeríti, hogy a hívószál hozzáférhessen ehhez.DispatcherObject

(Öröklődés forrása DispatcherObject)
WritePostscript()

Elindítja az Changed eseményt, Freezable és meghívja annak metódusát OnChanged() . A származtatott Freezable osztályoknak ezt a metódust minden olyan API végén kell meghívni, amely módosítja a nem függőségi tulajdonságokként tárolt osztálytagokat.

(Öröklődés forrása Freezable)
WritePreamble()

Ellenőrzi, hogy a Freezable rendszer nem zárolta-e a elemet, és hogy az érvényes szálkezelési környezetből van-e elérhető. Freezable Az öröklőknek ezt a metódust minden olyan API elején kell meghívni, amely nem függőségi tulajdonságokat tartalmazó adattagoknak ír.

(Öröklődés forrása Freezable)

esemény

Name Description
Changed

Akkor fordul elő, ha a Freezable benne lévő objektum vagy objektum módosul.

(Öröklődés forrása Freezable)
DecodeFailed

Akkor fordul elő, ha a rendszerkép nem töltődik be egy sérült képfejléc miatt.

(Öröklődés forrása BitmapSource)
DownloadCompleted

Akkor fordul elő, ha a bitkép tartalma teljesen le lett töltve.

(Öröklődés forrása BitmapSource)
DownloadFailed

Akkor fordul elő, ha a bitkép tartalma nem tölthető le.

(Öröklődés forrása BitmapSource)
DownloadProgress

Akkor fordul elő, ha a bitkép tartalmának letöltési állapota megváltozott.

(Öröklődés forrása BitmapSource)

Explicit interfész-implementációk

Name Description
IFormattable.ToString(String, IFormatProvider)

Formázza az aktuális példány értékét a megadott formátummal.

(Öröklődés forrása ImageSource)

A következőre érvényes:

Lásd még