Share via


GifBitmapDecoder 建構函式

定義

初始化 GifBitmapDecoder 的新執行個體。

多載

GifBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption)

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

GifBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption)

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

GifBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption)

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

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

參數

bitmapStream
Stream

要解碼的點陣圖資料流。

createOptions
BitmapCreateOptions

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

cacheOption
BitmapCacheOption

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

屬性

例外狀況

bitmapStream 值為 null

bitmapStream不是 (GIF) 編碼影像的圖形交換格式。

範例

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


// Open a Stream and decode a GIF image
Stream^ imageStreamSource = gcnew FileStream("tulipfarm.gif", FileMode::Open, FileAccess::Read, FileShare::Read);
GifBitmapDecoder^ decoder = gcnew GifBitmapDecoder(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 GIF image
Stream imageStreamSource = new FileStream("tulipfarm.gif", FileMode.Open, FileAccess.Read, FileShare.Read);
GifBitmapDecoder decoder = new GifBitmapDecoder(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 GIF image
Dim imageStreamSource As New FileStream("tulipfarm.gif", FileMode.Open, FileAccess.Read, FileShare.Read)
Dim decoder As New GifBitmapDecoder(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 取選項會保留資料流程的存取權,直到需要點陣圖,並由垃圾收集行程處理清除為止。

適用於

GifBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption)

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

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

參數

bitmapUri
Uri

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

createOptions
BitmapCreateOptions

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

cacheOption
BitmapCacheOption

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

屬性

例外狀況

bitmapUri 值為 null

bitmapUri不是 (GIF) 編碼影像的圖形交換格式。

範例

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


// Open a Uri and decode a GIF image
System::Uri^ myUri = gcnew System::Uri("tulipfarm.gif", UriKind::RelativeOrAbsolute);
GifBitmapDecoder^ decoder2 = gcnew GifBitmapDecoder(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 GIF image
Uri myUri = new Uri("tulipfarm.gif", UriKind.RelativeOrAbsolute);
GifBitmapDecoder decoder2 = new GifBitmapDecoder(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 GIF image
Dim myUri As New Uri("tulipfarm.gif", UriKind.RelativeOrAbsolute)
Dim decoder2 As New GifBitmapDecoder(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)

適用於