SoftwareBitmap 类

定义

表示未压缩的位图。

public ref class SoftwareBitmap sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.Graphics.Imaging.ISoftwareBitmapFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.GCPressure]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SoftwareBitmap final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.GCPressure]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Graphics.Imaging.ISoftwareBitmapFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class SoftwareBitmap final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Graphics.Imaging.ISoftwareBitmapFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.GCPressure]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SoftwareBitmap : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.GCPressure]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Graphics.Imaging.ISoftwareBitmapFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class SoftwareBitmap : System.IDisposable
function SoftwareBitmap(format, width, height, alpha)
Public NotInheritable Class SoftwareBitmap
Implements IDisposable
继承
Object Platform::Object IInspectable SoftwareBitmap
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

使用此类的示例应用程序包括 相机帧示例

有关显示如何访问像素数据的代码示例,请参阅 WriteableBitmap.PixelBuffer 属性 (另请参阅 CopyToBufferCopyFromBuffer) 。

注解

此类提供位图的表示形式,使它易于在不同的图像处理 API 中使用。 使用 GetSoftwareBitmapAsync 从流资源(如图像文件)创建 SoftwareBitmap。

使用 CopyToBufferCopyFromBufferSoftwareBitmapWriteableBitmapPixelBuffer 之间来回复制像素数据。 使用 CreateCopyFromSurfaceAsyncIDirect3DSurface 创建 SoftwareBitmap。 使用 ISoftwareBitmapNativeFactory::CreateFromMF2DBuffer2IMF2DBuffer2 创建 SoftwareBitmap。 使用 ISoftwareBitmapNativeFactory::CreateFromIWICBitmapIWICBitmap 创建 SoftwareBitmap

构造函数

SoftwareBitmap(BitmapPixelFormat, Int32, Int32)

初始化 SoftwareBitmap 类的新实例。

SoftwareBitmap(BitmapPixelFormat, Int32, Int32, BitmapAlphaMode)

初始化 SoftwareBitmap 类的新实例。

属性

BitmapAlphaMode

获取软件位图的 alpha 模式。

BitmapPixelFormat

获取软件位图的像素格式。

DpiX

获取或设置 X 方向上软件位图的每英寸点数。

DpiY

获取或设置软件位图在 Y 方向的每英寸点数。

IsReadOnly

获取一个值,该值指示是否可以修改软件位图。

PixelHeight

获取软件位图的高度(以像素为单位)。

PixelWidth

获取软件位图的宽度(以像素为单位)。

方法

Close()

释放 对象和关联的资源。

Convert(SoftwareBitmap, BitmapPixelFormat)

将现有 SoftwareBitmap 转换为具有不同像素格式的 SoftwareBitmap

Convert(SoftwareBitmap, BitmapPixelFormat, BitmapAlphaMode)

将现有 SoftwareBitmap 转换为具有不同像素格式或 alpha 模式的 SoftwareBitmap

Copy(SoftwareBitmap)

创建提供的 SoftwareBitmap 对象的副本。

CopyFromBuffer(IBuffer)

将像素数据从 IBuffer 复制到 SoftwareBitmap 中。

CopyTo(SoftwareBitmap)

将当前 SoftwareBitmap 复制到提供的 SoftwareBitmap 对象中。

CopyToBuffer(IBuffer)

将软件位图像素数据复制到指定的 IBuffer 中

CreateCopyFromBuffer(IBuffer, BitmapPixelFormat, Int32, Int32)

通过执行提供的缓冲区的深层复制创建新的 SoftwareBitmap 。 对新 SoftwareBitmap 中的数据的修改不会影响创建它的缓冲区。

CreateCopyFromBuffer(IBuffer, BitmapPixelFormat, Int32, Int32, BitmapAlphaMode)

通过执行提供的缓冲区的深层复制创建新的 SoftwareBitmap 。 对新 SoftwareBitmap 中的数据的修改不会影响创建它的缓冲区。

CreateCopyFromSurfaceAsync(IDirect3DSurface)

通过执行提供的 IDirect3DSurface 的深层复制,以异步方式创建新的 SoftwareBitmap。 修改新 SoftwareBitmap 中的数据不会影响创建数据的表面。

CreateCopyFromSurfaceAsync(IDirect3DSurface, BitmapAlphaMode)

通过执行提供的 IDirect3DSurface 的深层复制,以异步方式创建新的 SoftwareBitmap。 修改新 SoftwareBitmap 中的数据不会影响创建数据的表面。

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

GetReadOnlyView()

获取 SoftwareBitmap 对象的只读表示形式。

LockBuffer(BitmapBufferAccessMode)

获取 BitmapBuffer 对象,该对象允许你直接对软件位图的像素数据进行操作。

适用于

另请参阅