共用方式為


PngBitmapDecoder 建構函式

定義

初始化 PngBitmapDecoder 的新執行個體。

多載

PngBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption)

使用指定的 createOptionscacheOption,從指定的檔案資料流初始化 PngBitmapDecoder 的新執行個體。

PngBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption)

使用指定的 createOptionscacheOption,從指定的 PngBitmapDecoder 初始化 Uri 的新執行個體。

PngBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption)

使用指定的 createOptionscacheOption,從指定的檔案資料流初始化 PngBitmapDecoder 的新執行個體。

public:
 PngBitmapDecoder(System::IO::Stream ^ bitmapStream, System::Windows::Media::Imaging::BitmapCreateOptions createOptions, System::Windows::Media::Imaging::BitmapCacheOption cacheOption);
[System.Security.SecurityCritical]
public PngBitmapDecoder (System.IO.Stream bitmapStream, System.Windows.Media.Imaging.BitmapCreateOptions createOptions, System.Windows.Media.Imaging.BitmapCacheOption cacheOption);
public PngBitmapDecoder (System.IO.Stream bitmapStream, System.Windows.Media.Imaging.BitmapCreateOptions createOptions, System.Windows.Media.Imaging.BitmapCacheOption cacheOption);
[<System.Security.SecurityCritical>]
new System.Windows.Media.Imaging.PngBitmapDecoder : System.IO.Stream * System.Windows.Media.Imaging.BitmapCreateOptions * System.Windows.Media.Imaging.BitmapCacheOption -> System.Windows.Media.Imaging.PngBitmapDecoder
new System.Windows.Media.Imaging.PngBitmapDecoder : System.IO.Stream * System.Windows.Media.Imaging.BitmapCreateOptions * System.Windows.Media.Imaging.BitmapCacheOption -> System.Windows.Media.Imaging.PngBitmapDecoder
Public Sub New (bitmapStream As Stream, createOptions As BitmapCreateOptions, cacheOption As BitmapCacheOption)

參數

bitmapStream
Stream

要解碼的點陣圖資料流。

createOptions
BitmapCreateOptions

點陣圖影像的初始化選項。

cacheOption
BitmapCacheOption

用於點陣圖影像的快取方法。

屬性

例外狀況

bitmapStream 值為 null

bitmapStream不是可攜式網狀圖形 (PNG) 編碼影像。

範例

下列程式碼範例示範如何從檔案資料流程建立 和使用 PngBitmapDecoder 的實例。 解碼的 Image 影像會當做控制項的來源使用。


// Open a Stream and decode a PNG image
Stream^ imageStreamSource = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::Read, FileShare::Read);
PngBitmapDecoder^ decoder = gcnew PngBitmapDecoder(imageStreamSource, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapSource^ bitmapSource = decoder->Frames[0];

// Draw the Image
Image^ myImage = gcnew Image();
myImage->Source = bitmapSource;
myImage->Stretch = Stretch::None;
myImage->Margin = System::Windows::Thickness(20);

// Open a Stream and decode a PNG image
Stream imageStreamSource = new FileStream("smiley.png", FileMode.Open, FileAccess.Read, FileShare.Read);
PngBitmapDecoder decoder = new PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];

// Draw the Image
Image myImage = new Image();
myImage.Source = bitmapSource;
myImage.Stretch = Stretch.None;
myImage.Margin = new Thickness(20);
' Open a Stream and decode a PNG image
Dim imageStreamSource As New FileStream("smiley.png", FileMode.Open, FileAccess.Read, FileShare.Read)
Dim decoder As New PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim bitmapSource As BitmapSource = decoder.Frames(0)

' Draw the Image
Dim myImage As New Image()
myImage.Source = bitmapSource
myImage.Stretch = Stretch.None
myImage.Margin = New Thickness(20)

備註

如果您想要在解碼器建立之後關閉 bitmapStream ,請使用快 OnLoad 取選項。 預設快 OnDemand 取選項會保留資料流程的存取權,直到需要點陣圖,並由垃圾收集行程處理清除為止。

適用於

PngBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption)

使用指定的 createOptionscacheOption,從指定的 PngBitmapDecoder 初始化 Uri 的新執行個體。

public:
 PngBitmapDecoder(Uri ^ bitmapUri, System::Windows::Media::Imaging::BitmapCreateOptions createOptions, System::Windows::Media::Imaging::BitmapCacheOption cacheOption);
[System.Security.SecurityCritical]
public PngBitmapDecoder (Uri bitmapUri, System.Windows.Media.Imaging.BitmapCreateOptions createOptions, System.Windows.Media.Imaging.BitmapCacheOption cacheOption);
public PngBitmapDecoder (Uri bitmapUri, System.Windows.Media.Imaging.BitmapCreateOptions createOptions, System.Windows.Media.Imaging.BitmapCacheOption cacheOption);
[<System.Security.SecurityCritical>]
new System.Windows.Media.Imaging.PngBitmapDecoder : Uri * System.Windows.Media.Imaging.BitmapCreateOptions * System.Windows.Media.Imaging.BitmapCacheOption -> System.Windows.Media.Imaging.PngBitmapDecoder
new System.Windows.Media.Imaging.PngBitmapDecoder : Uri * System.Windows.Media.Imaging.BitmapCreateOptions * System.Windows.Media.Imaging.BitmapCacheOption -> System.Windows.Media.Imaging.PngBitmapDecoder
Public Sub New (bitmapUri As Uri, createOptions As BitmapCreateOptions, cacheOption As BitmapCacheOption)

參數

bitmapUri
Uri

Uri,識別要解碼的點陣圖。

createOptions
BitmapCreateOptions

點陣圖影像的初始化選項。

cacheOption
BitmapCacheOption

用於點陣圖影像的快取方法。

屬性

例外狀況

bitmapUri 值為 null

bitmapUri不是可攜式網狀圖形 (PNG) 編碼影像。

範例

下列程式碼範例示範如何建立 的實例,以及從 Uri 使用 PngBitmapDecoder 。 解碼的 Image 影像會當做控制項的來源使用。


// Open a Uri and decode a PNG image
System::Uri^ myUri = gcnew System::Uri("smiley.png", UriKind::RelativeOrAbsolute);
PngBitmapDecoder^ decoder2 = gcnew PngBitmapDecoder(myUri, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapSource^ bitmapSource2 = decoder2->Frames[0];

// Draw the Image
Image^ myImage2 = gcnew Image();
myImage2->Source = bitmapSource2;
myImage2->Stretch = Stretch::None;
myImage2->Margin = System::Windows::Thickness(20);

// Open a Uri and decode a PNG image
Uri myUri = new Uri("smiley.png", UriKind.RelativeOrAbsolute);
PngBitmapDecoder decoder2 = new PngBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource2 = decoder2.Frames[0];

// Draw the Image
Image myImage2 = new Image();
myImage2.Source = bitmapSource2;
myImage2.Stretch = Stretch.None;
myImage2.Margin = new Thickness(20);
' Open a Uri and decode a PNG image
Dim myUri As New Uri("smiley.png", UriKind.RelativeOrAbsolute)
Dim decoder2 As New PngBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim bitmapSource2 As BitmapSource = decoder2.Frames(0)

' Draw the Image
Dim myImage2 As New Image()
myImage2.Source = bitmapSource2
myImage2.Stretch = Stretch.None
myImage2.Margin = New Thickness(20)

適用於