SKBitmap 类

定义

指定 SKBitmap 光栅位图。

public class SKBitmap : SkiaSharp.SKObject
继承

注解

位图具有整数宽度和高度,格式 (颜色类型) ,以及指向实际像素的指针。 位图可以绘制到 中, SKCanvas但它们也用于指定 '绘制操作的目标 SKCanvas

公开 SKBitmapGetPixels(),它允许调用方写入其像素。 若要检索指向位图的原始图像数据的指针,请调用 SkiaSharp.SKBitmap.LockPixels 方法,然后调用 GetPixels() 方法以获取指向图像数据的指针。 不再需要使用原始数据指针后,请调用 SkiaSharp.SKBitmap.UnlockPixels 方法。 原始数据采用创建位图时配置的格式进行布局。

(注意:从 SkiaSharp 1.60.0 开始,不再需要调用 SkiaSharp.SKBitmap.LockPixelsSkiaSharp.SKBitmap.UnlockPixels ,并且它们不再作为 API.)

构造函数

SKBitmap()

创建宽度和高度为零且无像素的位图的默认构造函数。 其颜色类型设置为 Unknown

SKBitmap(Int32, Int32, Boolean)

创建具有给定宽度、高度和不透明度且颜色类型设置为 的位图 PlatformColorType

SKBitmap(Int32, Int32, SKColorType, SKAlphaType)

创建具有给定宽度、高度、颜色类型和 alpha 类型的位图。

SKBitmap(Int32, Int32, SKColorType, SKAlphaType, SKColorSpace)

指定 SKBitmap 光栅位图。

SKBitmap(SKImageInfo)

基于规范配置位图的 SKImageInfo 构造函数。

SKBitmap(SKImageInfo, Int32)

基于 SKImageInfo 规范配置位图的构造函数,以及每行指定字节数 (步幅大小)

SKBitmap(SKImageInfo, SKBitmapAllocFlags)

基于规范配置位图的 SKImageInfo 构造函数。

SKBitmap(SKImageInfo, SKColorTable)
已过时。.

基于 SKImageInfo 规范和颜色表配置位图的构造函数。

SKBitmap(SKImageInfo, SKColorTable, SKBitmapAllocFlags)
已过时。.

基于 SKImageInfo 规范和颜色表配置位图的构造函数。

属性

AlphaType

获取为位图配置的 SKAlphaType

ByteCount

基于 HeightRowBytes返回像素的字节大小。

Bytes

获取作为字节数组的所有像素数据的副本。

BytesPerPixel

获取每个像素使用的字节数。

ColorSpace

获取位图的颜色空间。

ColorTable
已过时。.

获取位图的颜色表。

ColorType

获取位图的颜色类型。

DrawsNothing

获取一个值,该值指示绘制此位图是否具有任何效果。

Handle

获取或设置基础本机对象的句柄。

(继承自 SKObject)
Height

获取位图的高度。

IgnorePublicDispose

获取或设置一个值,该值指示调用公众 Dispose() 是否应为 no-op。

(继承自 SKNativeObject)
Info

获取具有位图的所有属性的 实例 SKImageInfo

IsDisposed

获取或设置一个值,该值指示对象是否已释放。

(继承自 SKNativeObject)
IsEmpty

获取一个值,该值指示位图是否具有空尺寸。

IsImmutable

指示位图内容是否不可变。

IsNull

获取一个值,该值指示位图是否具有任何 pixelref。

IsVolatile
已过时。.

获取一个值,该值指示设备是否不应缓存位图。

OwnsHandle

获取一个值,该值指示此对象是否应销毁基础本机对象。

(继承自 SKObject)
Pixels

获取所有像素作为颜色数组。

ReadyToDraw

获取一个值,该值指示位图是否足够有效,足以绘制。

RowBytes

每行的字节数。

Width

获取位图的宽度。

方法

CanCopyTo(SKColorType)

如果此位图的像素可以转换为请求的颜色类型,以便 或 CopyTo(SKBitmap) 可以成功,则Copy()返回 true。

Copy()

复制位图的内容并返回副本。

Copy(SKColorType)

复制具有指定颜色类型的位图的内容并返回副本。

CopyTo(SKBitmap)

将位图的内容复制到指定的位图中。

CopyTo(SKBitmap, SKColorType)

将位图的内容复制到指定的位图中。

Decode(Byte[])

使用指定的字节缓冲区解码位图。

Decode(Byte[], SKImageInfo)

使用指定的字节缓冲区和目标图像信息解码位图。

Decode(ReadOnlySpan<Byte>)

指定 SKBitmap 光栅位图。

Decode(ReadOnlySpan<Byte>, SKImageInfo)

指定 SKBitmap 光栅位图。

Decode(SKCodec)

使用指定的编解码器解码位图。

Decode(SKCodec, SKImageInfo)

使用指定的编解码器和目标图像信息解码位图。

Decode(SKData)

使用指定数据解码位图。

Decode(SKData, SKImageInfo)

使用指定的数据和目标图像信息解码位图。

Decode(SKStream)

使用指定的流解码位图。

Decode(SKStream, SKImageInfo)

使用指定的流和目标图像信息解码位图。

Decode(Stream)

使用指定的流和目标图像信息解码位图。

Decode(Stream, SKImageInfo)

使用指定的流和目标图像信息解码位图。

Decode(String)

解码指定文件名的位图。

Decode(String, SKImageInfo)

解码指定文件名和目标图像信息的位图。

DecodeBounds(Byte[])

使用指定的字节缓冲区解码位图信息。

DecodeBounds(ReadOnlySpan<Byte>)

指定 SKBitmap 光栅位图。

DecodeBounds(SKData)

使用指定的数据解码位图信息。

DecodeBounds(SKStream)

使用指定的流解码位图信息。

DecodeBounds(Stream)

使用指定的流解码位图信息。

DecodeBounds(String)

解码指定文件名的位图信息。

Dispose()

释放此 SKNativeObject 使用的所有资源。

(继承自 SKNativeObject)
Dispose(Boolean)

释放由 SKBitmap 占用的非托管资源,还可以另外再释放托管资源。

DisposeInternal()

触发释放,忽略 的值 IgnorePublicDispose

(继承自 SKNativeObject)
DisposeManaged()

由派生 SKObject 类型实现以销毁任何托管对象。

(继承自 SKObject)
DisposeNative()

由派生 SKObject 类型实现以销毁任何本机对象。

DisposeNative()

由派生 SKObject 类型实现以销毁任何本机对象。

(继承自 SKObject)
DisposeUnownedManaged()

指定 SKBitmap 光栅位图。

(继承自 SKObject)
Encode(SKEncodedImageFormat, Int32)

指定 SKBitmap 光栅位图。

Encode(SKWStream, SKEncodedImageFormat, Int32)
已过时。.

使用指定的格式对图像进行编码。

Encode(Stream, SKEncodedImageFormat, Int32)

指定 SKBitmap 光栅位图。

Erase(SKColor)

使用指定颜色填充整个位图。

Erase(SKColor, SKRectI)

用指定颜色填充此位图的指定区域。

ExtractAlpha(SKBitmap)

检索此位图的 alpha 层。

ExtractAlpha(SKBitmap, SKPaint)

应用指定的画图后检索此位图的 alpha 层。

ExtractAlpha(SKBitmap, SKPaint, SKPointI)

应用指定的画图后检索此位图的 alpha 层。

ExtractAlpha(SKBitmap, SKPointI)

检索此位图的 alpha 层。

ExtractSubset(SKBitmap, SKRectI)

检索此位图的子集。

FromImage(SKImage)

从指定图像中像素数据的副本创建新位图。

GetAddr(Int32, Int32)
已过时。.

返回指定像素的地址。

GetAddr16(Int32, Int32)
已过时。.

返回指定像素的 16 位值。

GetAddr32(Int32, Int32)
已过时。.

返回指定像素的 32 位值。

GetAddr8(Int32, Int32)
已过时。.

返回指定像素的 8 位值。

GetAddress(Int32, Int32)

指定 SKBitmap 光栅位图。

GetIndex8Color(Int32, Int32)
已过时。.

返回与基于调色板的 (颜色表) 位图的坐标指定的像素对应的颜色。

GetPixel(Int32, Int32)

返回位于指定位置的像素的颜色。

GetPixels()

返回此位图的像素的地址。

GetPixels(IntPtr)

返回此位图的像素的地址。

GetPixelSpan()

返回包装像素数据的跨度。

InstallMaskPixels(SKMask)

将指定掩码的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr)

将指定的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr, Int32)

将指定的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr, Int32, SKBitmapReleaseDelegate)

将指定的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr, Int32, SKBitmapReleaseDelegate, Object)

将指定的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr, Int32, SKColorTable)
已过时。.

将指定的像素安装到位图中。

InstallPixels(SKImageInfo, IntPtr, Int32, SKColorTable, SKBitmapReleaseDelegate, Object)
已过时。.

开发人员不应使用此过时的方法。

InstallPixels(SKPixmap)

将指定的像素安装到位图中。

NotifyPixelsChanged()

向位图使用者指示像素数据已更改。

PeekPixels()

如果像素可用,则返回这些像素,而无需锁定位图。

PeekPixels(SKPixmap)

返回位图的 pixmap。

Reset()

将位图重置为其初始状态。

Resize(SKBitmap, SKBitmap, SKBitmapResizeMethod)
已过时。.

使用指定的 resize 方法调整所提供的位图的大小。

Resize(SKBitmap, SKBitmapResizeMethod)
已过时。.

使用指定的 resize 方法调整当前位图的大小。

Resize(SKImageInfo, SKBitmapResizeMethod)
已过时。.

使用指定的 resize 方法调整当前位图的大小。

Resize(SKImageInfo, SKFilterQuality)

使用指定的质量筛选器调整当前位图的大小。

Resize(SKSizeI, SKFilterQuality)

指定 SKBitmap 光栅位图。

ScalePixels(SKBitmap, SKFilterQuality)

将此 pixmap 复制到目标,缩放像素以适应目标大小,并转换像素以匹配颜色类型和 alpha 类型。

ScalePixels(SKPixmap, SKFilterQuality)

将此 pixmap 复制到目标,缩放像素以适应目标大小,并转换像素以匹配颜色类型和 alpha 类型。

SetColorTable(SKColorTable)
已过时。.

替换位图的当前颜色表。

SetImmutable()

将位图标记为不可变。

SetPixel(Int32, Int32, SKColor)

设置指定位置的像素颜色。

SetPixels(IntPtr)

替换位图的当前像素地址。

SetPixels(IntPtr, SKColorTable)
已过时。.

开发人员不应使用此过时的方法。

ToShader()

指定 SKBitmap 光栅位图。

ToShader(SKShaderTileMode, SKShaderTileMode)

指定 SKBitmap 光栅位图。

ToShader(SKShaderTileMode, SKShaderTileMode, SKMatrix)

指定 SKBitmap 光栅位图。

TryAllocPixels(SKImageInfo)

使用指定的图像信息为位图分配内存。

TryAllocPixels(SKImageInfo, Int32)

使用指定的图像信息为位图分配内存。

TryAllocPixels(SKImageInfo, SKBitmapAllocFlags)

使用指定的图像信息为位图分配内存。

适用于