BitmapSource 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表特定大小與解析度之像素的單一且固定的集合。
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
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
inherit ImageSource
Public MustInherit Class BitmapSource
Inherits ImageSource
- 繼承
- 衍生
- 屬性
範例
下列程式碼範例示範如何建立 BitmapSource ,並將其作為控制項的來源 Image 。
// 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
下列程式碼範例會使用 BitmapSource 衍生類別 , BitmapImage 從影像檔建立點陣圖,並使用它做為控制項的來源 Image 。
// 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
備註
BitmapSource是Windows Presentation Foundation (WPF) 映射管線的基本建置組塊,概念上代表特定大小和解析度的單一、常數圖元集。 BitmapSource可以是解碼器提供之圖像檔中的單一畫面格,或者可能是其本身運作 BitmapSource 的轉換結果。 BitmapSource 不會用來表示多畫面格影像或動畫。
Windows Presentation Foundation (WPF) 原生支援壓縮和解壓縮點陣圖 (BMP) 、圖形交換格式 (GIF) 、聯合相片專家群組 (JPEG) 、可攜式網狀圖形 (PNG) ,以及 TIFF) 影像的標記影像 (檔案格式。
針對點陣圖解碼案例, BitmapSource 會根據使用者系統上已安裝的編解碼器,使用自動編解碼器探索。
影像的高度和寬度上限為 2^16 圖元,每個通道 32 位 * 4 個通道。 的大小 BitmapSource 上限為 2^32 個位元組, (64 GB) ,而影像大小上限為四個 gigapixels。 影像大小下限為 1x1。
建構函式
BitmapSource() |
初始化 BitmapSource 類別的新執行個體。 |
屬性
CanFreeze |
取得值,指出是否可以將物件設為不可修改。 (繼承來源 Freezable) |
DependencyObjectType |
DependencyObjectType取得包裝這個實例之 CLR 型別的 。 (繼承來源 DependencyObject) |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
DpiX |
取得影像 (DPI) 的水準點。 |
DpiY |
取得影像 (DPI) 的垂直點。 |
Format |
取得點陣圖資料的原生 PixelFormat。 |
HasAnimatedProperties |
取得值,這個值表示是否有一個或多個 AnimationClock 物件與這個物件的任何一個相依性屬性相關聯。 (繼承來源 Animatable) |
Height |
取得裝置獨立單位中來源點陣圖的高度 (,每單位 1/96 英吋) 1/96 英吋。 |
IsDownloading |
取得值,這個值表示目前是否正在下載 BitmapSource 內容。 |
IsFrozen |
取得值,該值表示物件目前是否可修改。 (繼承來源 Freezable) |
IsSealed |
取得值,這個值表示此執行個體目前是否已密封 (唯讀)。 (繼承來源 DependencyObject) |
Metadata |
取得與這個點陣圖影像相關聯的中繼資料 (Metadata)。 |
Palette |
取得點陣圖的色板 (如果有指定的話)。 |
PixelHeight |
取得點陣圖的高度 (以像素為單位)。 |
PixelWidth |
取得點陣圖的寬度 (以像素為單位)。 |
Width |
以裝置獨立單位取得點陣圖的寬度, (每單位 1/96 英吋) 。 |
方法
事件
Changed |
發生於 Freezable 或所含的物件遭到修改時。 (繼承來源 Freezable) |
DecodeFailed |
當影像因影像標頭損毀而無法載入時發生。 |
DownloadCompleted |
點陣圖內容下載完成時發生。 |
DownloadFailed |
無法下載點陣圖內容時發生。 |
DownloadProgress |
點陣圖內容的下載進度變更時發生。 |
明確介面實作
IFormattable.ToString(String, IFormatProvider) |
使用指定的格式,格式化目前執行個體的值。 (繼承來源 ImageSource) |