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) ,最大图像大小为 4 千兆像素。 最小图像大小为 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 英寸)。 |
IsDownloading |
获取一个值,该值指示 BitmapSource 内容当前是否正在下载。 |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Metadata |
获取与此位图图像关联的元数据。 |
Palette |
获取位图的调色板(如果指定了调色板)。 |
PixelHeight |
获取位图的高度(以像素为单位)。 |
PixelWidth |
获取位图的宽度(以像素为单位)。 |
Width |
获取位图的宽度(以设备无关单位 (单位) 1/96 英寸)。 |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |
DecodeFailed |
在由于图像标题损坏而无法下载图像时发生。 |
DownloadCompleted |
在下载完位图内容时发生。 |
DownloadFailed |
在无法下载位图内容时发生。 |
DownloadProgress |
在下载位图内容的进度有变化时发生。 |
显式接口实现
IFormattable.ToString(String, IFormatProvider) |
使用指定格式对当前实例的值设置格式。 (继承自 ImageSource) |