BitmapDecoder 類別

定義

代表點陣圖框架的容器。 每個點陣圖框架都是 BitmapSource。 這個抽象類別提供所有衍生解碼器物件的一組基本功能。

public ref class BitmapDecoder abstract : System::Windows::Threading::DispatcherObject
public abstract class BitmapDecoder : System.Windows.Threading.DispatcherObject
type BitmapDecoder = class
    inherit DispatcherObject
Public MustInherit Class BitmapDecoder
Inherits DispatcherObject
繼承
BitmapDecoder
衍生

範例

下列範例示範如何使用 Create(Uri, BitmapCreateOptions, BitmapCacheOption) 方法來建立指定影像的解碼器。 影像的第一個 BitmapFrame 是做為控制項的來源 Image

BitmapDecoder uriBitmap = BitmapDecoder.Create(
   new Uri("sampleImages/waterlilies.jpg", UriKind.Relative),
   BitmapCreateOptions.None,
   BitmapCacheOption.Default);

// Create an image element;
Image uriImage = new Image();
uriImage.Width = 200;
// Set image source.
uriImage.Source = uriBitmap.Frames[0];
Dim uriBitmap As BitmapDecoder = BitmapDecoder.Create(New Uri("sampleImages/waterlilies.jpg", UriKind.Relative), BitmapCreateOptions.None, BitmapCacheOption.Default)

' Create an image element;
Dim uriImage As New Image()
uriImage.Width = 200
' Set image source.
uriImage.Source = uriBitmap.Frames(0)

下列程式碼範例示範如何使用內 TiffBitmapDecoder 建開啟和解碼標記影像檔案格式, (TIFF) 點陣圖。 產生的 BitmapSource 會做為 Source Image 專案的 。


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

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

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

備註

BitmapDecoder 不是 BitmapFrame 本身,而是物件的 BitmapFrame 容器。 BitmapFrame容器中的每個可能有不同的屬性,包括不同的大小、解析度或調色盤。

除非選取特定的編解碼器,否則Windows Presentation Foundation (WPF) 會使用自動執行時間探索來識別影像的格式,並將它與適當的編解碼器相符。 此探索程式可讓獨立軟體廠商所開發的編解碼器, (ISV) 系統會自動探索。 若要選取特定的編解碼器,應該使用 衍生 BitmapDecoderBitmapEncoder ,例如 TiffBitmapDecoder 類別。

標記的影像檔案格式 (TIFF) 和圖形交換格式 (GIF) 是唯一支援多個畫面格的實作影像格式。

建構函式

BitmapDecoder()

初始化 BitmapDecoder 的新執行個體。

屬性

CodecInfo

取得描述此轉碼器的資訊。

ColorContexts

取得值,表示與點陣圖相關聯的色彩設定檔 (如果有定義的話)。

Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
Frames

取得點陣圖內個別畫面格的內容。

IsDownloading

取得值,這個值表示解碼器目前是否正在下載內容。

Metadata

取得 BitmapMetadata 的執行個體,代表與這個點陣圖相關聯的全域中繼資料 (如果有定義中繼資料的話)。

Palette

取得與這個解碼器相關聯的 BitmapPalette

Preview

如果有定義預覽,取得代表這個點陣圖全域預覽的 BitmapSource

Thumbnail

如果未定義,則取得表示點陣圖縮圖的 BitmapSource

方法

CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
Create(Stream, BitmapCreateOptions, BitmapCacheOption)

使用指定的 BitmapDecoderStream,從 BitmapCreateOptions 建立 BitmapCacheOption

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

使用指定的 BitmapDecoderUri,從 BitmapCreateOptions 建立 BitmapCacheOption

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

使用指定的 BitmapDecoderUriBitmapCreateOptions,從 BitmapCacheOption 建立 RequestCachePolicy

CreateInPlaceBitmapMetadataWriter()

建立 InPlaceBitmapMetadataWriter 的執行個體,這個執行個體可用來更新點陣圖的中繼資料。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

釋出資源並執行其他清除作業後,記憶體回收才能重新回收 BitmapDecoder

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

BitmapDecoder 的目前值轉換成 String

VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。

(繼承來源 DispatcherObject)

事件

DownloadCompleted

BitmapDecoder 完成下載點陣圖內容時發生。

DownloadFailed

無法下載點陣圖內容時發生。

DownloadProgress

BitmapDecoder 開始下載點陣圖內容時發生。

適用於

另請參閱