SKData Class

Definition

The SKData holds an immutable data buffer.

public class SKData : SkiaSharp.SKObject
Inheritance

Remarks

Not only is the data immutable, but the actual pointer that is returned by the Data property is guaranteed to always be the same for the life of this instance.

The AsStream() method can be used to return a Stream that wraps this SKData and allows for .NET APIs to scan the contents of the SKData as a stream.

Constructors

SKData()

Creates an empty SKData object.

SKData(Byte[])

Creates an SKData by copying the provided byte array.

SKData(Byte[], UInt64)

Creates an SKData by copying the provided byte array for the specified size.

SKData(IntPtr, UInt64)

Creates an SKData by copying the provided byte buffer for the specified length.

Properties

Data

Gets a pointer to the data wrapped by this SKData.

Empty

Gets a reference to the empty data instance.

Handle

Gets or sets the handle to the underlying native object.

(Inherited from SKObject)
IsEmpty

Gets a value indicating whether or not the data is empty.

OwnsHandle

Gets a value indicating whether this object should destroy the underlying native object.

(Inherited from SKObject)
Size

Gets the size of this data object in bytes.

Methods

AsStream()

Wraps the SKData as a Stream.

AsStream(Boolean)

Wraps the SKData as a Stream.

Create(Int32)

Returns a new SKData instance with uninitialized data.

Create(IntPtr, Int32)

Returns a new SKData instance with reference to the specified data.

Create(IntPtr, Int32, SKDataReleaseDelegate)

Returns a new SKData instance with reference to the specified data.

Create(IntPtr, Int32, SKDataReleaseDelegate, Object)

Returns a new SKData instance with reference to the specified data.

Create(SKStream)

Returns a new SKData instance with a copy of the data from the stream.

Create(SKStream, Int32)

Returns a new SKData instance with a copy of the data from the stream.

Create(SKStream, Int64)

Returns a new SKData instance with a copy of the data from the stream.

Create(SKStream, UInt64)

Returns a new SKData instance with a copy of the data from the stream.

Create(Stream)

Returns a new SKData instance with a copy of the data from the stream.

Create(Stream, Int32)

Returns a new SKData instance with a copy of the data from the stream.

Create(Stream, Int64)

Returns a new SKData instance with a copy of the data from the stream.

Create(Stream, UInt64)

Returns a new SKData instance with a copy of the data from the stream.

Create(String)

Returns a new SKData instance with the data from the file.

Create(UInt64)

Returns a new SKData instance with uninitialized data.

CreateCopy(Byte[])

Returns a new SKData instance with a copy of the provided byte array.

CreateCopy(Byte[], UInt64)

Returns a new SKData instance with a copy of the provided byte array.

CreateCopy(IntPtr, UInt64)

Returns a new SKData instance with a copy of the provided byte buffer.

Dispose()

Releases all resources used by this SKNativeObject.

(Inherited from SKNativeObject)
Dispose(Boolean)

Releases the resources associated with the data. If this SKData was created with one of the FromMallocMemory(IntPtr, UInt64) methods, then the operating system's "free" method will be called on the data.

FromMallocMemory(IntPtr, UInt64)

Creates an SKData from a buffer that was previously allocated with the operating system "malloc" (or AllocHGlobal(Int32) method.

SaveTo(Stream)

Saves the buffer into the provided stream.

Subset(UInt64, UInt64)

Creates a new SKData that points to a slice in this SKData.

ToArray()

Copies the data object into a byte array.

Applies to