BitmapSource Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en enda konstant uppsättning bildpunkter med en viss storlek och upplösning.
public ref class BitmapSource abstract : System::Windows::Media::ImageSource
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class BitmapSource : System.Windows.Media.ImageSource
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
inherit ImageSource
interface DUCE.IResource
Public MustInherit Class BitmapSource
Inherits ImageSource
- Arv
- Härledda
- Attribut
Exempel
Följande kodexempel visar hur du skapar en BitmapSource och använder den som källa för en Image kontroll.
// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];
// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);
// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
96, 96, pf, null,
rawImage, rawStride);
// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;
' Define parameters used to create the BitmapSource.
Dim pf As PixelFormat = PixelFormats.Bgr32
Dim width As Integer = 200
Dim height As Integer = 200
Dim rawStride As Integer = CType((width * pf.BitsPerPixel + 7) / 8, Integer)
Dim rawImage(rawStride * height) As Byte
' Initialize the image with data.
Dim value As New Random()
value.NextBytes(rawImage)
' Create a BitmapSource.
Dim bitmap As BitmapSource = BitmapSource.Create(width, height, 96, 96, pf, Nothing, rawImage, rawStride)
' Create an image element;
Dim myImage As New Image()
myImage.Width = 200
' Set image source.
myImage.Source = bitmap
I följande kodexempel används en BitmapSource härledd klass, , BitmapImageför att skapa en bitmapp från en bildfil och använda den som källa för en Image kontroll.
// Create the image element.
Image simpleImage = new Image();
simpleImage.Width = 200;
simpleImage.Margin = new Thickness(5);
// Create source.
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
bi.EndInit();
// Set the image source.
simpleImage.Source = bi;
' Create the image element.
Dim simpleImage As New Image()
simpleImage.Width = 200
simpleImage.Margin = New Thickness(5)
' Create source.
Dim bi As New BitmapImage()
' BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit()
bi.UriSource = New Uri("/sampleImages/cherries_larger.jpg", UriKind.RelativeOrAbsolute)
bi.EndInit()
' Set the image source.
simpleImage.Source = bi
Kommentarer
BitmapSource är den grundläggande byggstenen i Windows Presentation Foundation (WPF) bildpipeline, som konceptuellt representerar en enda konstant uppsättning bildpunkter med en viss storlek och upplösning. En BitmapSource kan vara en enda bildruta i en bildfil som en avkodare tillhandahåller, eller så kan det vara resultatet av en transformering som fungerar på BitmapSource egen hand. BitmapSource används inte för att representera en bild med flera ramar eller en animering.
Windows Presentation Foundation (WPF) har inbyggt stöd för komprimering och dekomprimering av bitmappsbilder (BMP), Grafikutbytesformat (GIF), JPEG(Joint Photographics Experts Group), PNG(Portable Network Graphics) och TIFF-bilder (Tagged Image File Format).
För bitmappsdekodningsscenarier BitmapSource använder automatisk codec-identifiering, baserat på installerade codecs i användarens system.
Den maximala höjden och bredden på en bild är 2^16 bildpunkter vid 32 bitar per kanal * 4 kanaler. Den maximala storleken på en BitmapSource är 2^32 byte (64 gigabyte) och den maximala bildstorleken är fyra gigapixlar. Den minsta bildstorleken är 1x1.
Konstruktorer
| Name | Description |
|---|---|
| BitmapSource() |
Initierar en ny instans av BitmapSource klassen. |
Egenskaper
| Name | Description |
|---|---|
| CanFreeze |
Hämtar ett värde som anger om objektet kan göras ommodifierbart. (Ärvd från Freezable) |
| DependencyObjectType |
DependencyObjectType Hämtar som omsluter CLR-typen för den här instansen. (Ärvd från DependencyObject) |
| Dispatcher |
Hämtar det Dispatcher som DispatcherObject är associerat med. (Ärvd från DispatcherObject) |
| DpiX |
Hämtar bildens vågräta punkter per tum (dpi). |
| DpiY |
Hämtar bildens lodräta punkter per tum (dpi). |
| Format |
Hämtar inbyggda PixelFormat bitmappsdata. |
| HasAnimatedProperties |
Hämtar ett värde som anger om ett eller flera AnimationClock objekt är associerade med något av det här objektets beroendeegenskaper. (Ärvd från Animatable) |
| Height |
Hämtar höjden på källbitmappen i enhetsoberoende enheter (1/96 tum per enhet). |
| IsDownloading |
Hämtar ett värde som anger om innehållet BitmapSource för närvarande laddas ned. |
| IsFrozen |
Hämtar ett värde som anger om objektet för närvarande kan ändras. (Ärvd från Freezable) |
| IsSealed |
Hämtar ett värde som anger om den här instansen för närvarande är förseglad (skrivskyddad). (Ärvd från DependencyObject) |
| Metadata |
Hämtar metadata som är associerade med den här bitmappsbilden. |
| Palette |
Hämtar bitmappens färgpalett, om en anges. |
| PixelHeight |
Hämtar bitmappens höjd i bildpunkter. |
| PixelWidth |
Hämtar bitmappens bredd i bildpunkter. |
| Width |
Hämtar bitmappens bredd i enhetsoberoende enheter (1/96 tum per enhet). |
Metoder
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används den angivna HandoffBehavior . (Ärvd från Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace . (Ärvd från Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används den angivna HandoffBehavior egenskapen. (Ärvd från Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace . (Ärvd från Animatable) |
| CheckAccess() |
Avgör om den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| CheckIfSiteOfOrigin() |
Kontrollerar om bitmappens källinnehåll kommer från en känd ursprungsplats. Den här metoden används för att se till att pixelkopieringsåtgärder är säkra. |
| ClearValue(DependencyProperty) |
Rensar det lokala värdet för en egenskap. Egenskapen som ska rensas anges av en DependencyProperty identifierare. (Ärvd från DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Rensar det lokala värdet för en skrivskyddad egenskap. Egenskapen som ska rensas anges av en DependencyPropertyKey. (Ärvd från DependencyObject) |
| Clone() |
Skapar en modifierbar klon av detta BitmapSourceoch gör djupa kopior av objektets värden. När du kopierar beroendeegenskaper kopierar den här metoden resursreferenser och databindningar (men de kanske inte längre matchar) men inte animeringar eller deras aktuella värden. |
| CloneCore(Freezable) |
Gör den här instansen till en djup kopia av den angivna BitmapSource. När du kopierar beroendeegenskaper kopierar den här metoden resursreferenser och databindningar (men de kanske inte längre matchar) men inte animeringar eller deras aktuella värden. |
| CloneCurrentValue() |
Skapar en modifierbar klon av det här BitmapSource objektet, vilket gör djupa kopior av objektets aktuella värden. Resursreferenser, databindningar och animeringar kopieras inte, men deras aktuella värden är det. |
| CloneCurrentValueCore(Freezable) |
Gör den här instansen till en ändringsbar djupkopia av den angivna BitmapSource med hjälp av aktuella egenskapsvärden. Resursreferenser, databindningar och animeringar kopieras inte, men deras aktuella värden är det. |
| CoerceValue(DependencyProperty) |
Tvingar fram värdet för den angivna beroendeegenskapen. Detta uppnås genom att anropa alla CoerceValueCallback funktioner som anges i egenskapsmetadata för beroendeegenskapen eftersom den finns på anropet DependencyObject. (Ärvd från DependencyObject) |
| CopyPixels(Array, Int32, Int32) |
Kopierar bitmappspixeldata till en matris med pixlar med angivet steg, med början vid den angivna förskjutningen. |
| CopyPixels(Int32Rect, Array, Int32, Int32) |
Kopierar bitmappspixeldata i den angivna rektangeln till en matris med pixlar som har den angivna stegen från och med den angivna förskjutningen. |
| CopyPixels(Int32Rect, IntPtr, Int32, Int32) |
Kopierar bitmappspixeldata i den angivna rektangeln. |
| Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32) |
Skapar en ny BitmapSource från en matris med pixlar. |
| Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32) |
Skapar en ny BitmapSource från en matris med pixlar som lagras i ohanterat minne. |
| CreateInstance() |
Initierar en ny instans av Freezable klassen. (Ärvd från Freezable) |
| CreateInstanceCore() |
När den implementeras i en härledd klass skapar du en ny instans av den Freezable härledda klassen. (Ärvd från Freezable) |
| Equals(Object) |
Avgör om en angivet DependencyObject motsvarar den aktuella DependencyObject. (Ärvd från DependencyObject) |
| Freeze() |
Gör det aktuella objektet ommodifierbart och anger dess IsFrozen egenskap till |
| FreezeCore(Boolean) |
Gör en instans av BitmapSource eller en härledd klass oföränderlig. |
| GetAnimationBaseValue(DependencyProperty) |
Returnerar det icke-animerade värdet för det angivna DependencyProperty. (Ärvd från Animatable) |
| GetAsFrozen() |
Skapar en frusen Freezablekopia av , med hjälp av grundläggande (icke-animerade) egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. (Ärvd från Freezable) |
| GetAsFrozenCore(Freezable) |
Gör den här instansen till en klon av det angivna BitmapSource objektet. |
| GetCurrentValueAsFrozen() |
Skapar en frusen Freezable kopia av med aktuella egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. (Ärvd från Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Gör den här instansen till en frusen klon av angiven BitmapSource. Resursreferenser, databindningar och animeringar kopieras inte, men deras aktuella värden är det. |
| GetHashCode() |
Hämtar en hash-kod för den här DependencyObject. (Ärvd från DependencyObject) |
| GetLocalValueEnumerator() |
Skapar en specialiserad uppräknare för att avgöra vilka beroendeegenskaper som har lokalt angivna värden för den här DependencyObject. (Ärvd från DependencyObject) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetValue(DependencyProperty) |
Returnerar det aktuella effektiva värdet för en beroendeegenskap för den här instansen av en DependencyObject. (Ärvd från DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Utvärderar det effektiva värdet för den angivna beroendeegenskapen igen. (Ärvd från DependencyObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnChanged() |
Anropas när det aktuella Freezable objektet ändras. (Ärvd från Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Den här medlemmen stöder infrastrukturen för Windows Presentation Foundation (WPF) och är inte avsedd att användas direkt från koden. (Ärvd från Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Ser till att lämpliga kontextpekare upprättas för en DependencyObjectType datamedlem som just har angetts. (Ärvd från Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Åsidosätter implementeringen DependencyObject av OnPropertyChanged(DependencyPropertyChangedEventArgs) för att även anropa alla Changed hanterare som svar på en ändrad beroendeegenskap av typen Freezable. (Ärvd från Freezable) |
| ReadLocalValue(DependencyProperty) |
Returnerar det lokala värdet för en beroendeegenskap, om den finns. (Ärvd från DependencyObject) |
| ReadPreamble() |
Säkerställer att åtkomsten Freezable görs från en giltig tråd. Arvtagare Freezable till måste anropa den här metoden i början av ett API som läser datamedlemmar som inte är beroendeegenskaper. (Ärvd från Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Anger värdet för en beroendeegenskap utan att ändra dess värdekälla. (Ärvd från DependencyObject) |
| SetValue(DependencyProperty, Object) |
Anger det lokala värdet för en beroendeegenskap som anges av dess beroendeegenskapsidentifierare. (Ärvd från DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Anger det lokala värdet för en skrivskyddad beroendeegenskap som anges av identifieraren DependencyPropertyKey för beroendeegenskapen. (Ärvd från DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet för den angivna beroendeegenskapen. (Ärvd från DependencyObject) |
| ToString() |
Skapar en strängrepresentation av det här objektet baserat på den aktuella kulturen. (Ärvd från ImageSource) |
| ToString(IFormatProvider) |
Skapar en strängrepresentation av det här objektet baserat på det IFormatProvider skickade objektet. Om providern är |
| VerifyAccess() |
Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| WritePostscript() |
Genererar Changed händelsen för Freezable och anropar dess OnChanged() metod. Klasser som härleds från Freezable bör anropa den här metoden i slutet av alla API:er som ändrar klassmedlemmar som inte lagras som beroendeegenskaper. (Ärvd från Freezable) |
| WritePreamble() |
Verifierar att Freezable inte är låst och att den nås från en giltig trådkontext. Freezable ärver bör anropa den här metoden i början av ett API som skriver till datamedlemmar som inte är beroendeegenskaper. (Ärvd från Freezable) |
Händelser
| Name | Description |
|---|---|
| Changed |
Inträffar när eller Freezable ett objekt som det innehåller ändras. (Ärvd från Freezable) |
| DecodeFailed |
Inträffar när avbildningen inte kan läsas in på grund av ett skadat bildhuvud. |
| DownloadCompleted |
Inträffar när bitmappsinnehållet har laddats ned helt. |
| DownloadFailed |
Inträffar när bitmappsinnehållet inte kunde laddas ned. |
| DownloadProgress |
Inträffar när nedladdningsstatusen för bitmappsinnehållet har ändrats. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formaterar värdet för den aktuella instansen med det angivna formatet. (Ärvd från ImageSource) |