WriteableBitmap.WritePixels 方法

定义

更新可写位图的像素。

重载

WritePixels(Int32Rect, Array, Int32, Int32)

更新位图指定区域中的像素。

WritePixels(Int32Rect, IntPtr, Int32, Int32)

更新位图指定区域中的像素。

WritePixels(Int32Rect, Array, Int32, Int32, Int32)

更新位图指定区域中的像素。

WritePixels(Int32Rect, IntPtr, Int32, Int32, Int32, Int32)

更新位图指定区域中的像素。

WritePixels(Int32Rect, Array, Int32, Int32)

更新位图指定区域中的像素。

public:
 void WritePixels(System::Windows::Int32Rect sourceRect, Array ^ pixels, int stride, int offset);
[System.Security.SecurityCritical]
public void WritePixels (System.Windows.Int32Rect sourceRect, Array pixels, int stride, int offset);
public void WritePixels (System.Windows.Int32Rect sourceRect, Array pixels, int stride, int offset);
[<System.Security.SecurityCritical>]
member this.WritePixels : System.Windows.Int32Rect * Array * int * int -> unit
member this.WritePixels : System.Windows.Int32Rect * Array * int * int -> unit
Public Sub WritePixels (sourceRect As Int32Rect, pixels As Array, stride As Integer, offset As Integer)

参数

sourceRect
Int32Rect

要更新的 WriteableBitmap 的矩形。

pixels
Array

用来更新位图的像素数组。

stride
Int32

pixels 中更新区域的步幅。

offset
Int32

输入缓冲区偏移量。

属性

例外

存在下列一种或多种情况时。

sourceRect 处于 WriteableBitmap 的界限外。

stride< 1

offset< 0

pixelsnull

pixels 的级别不为 1 或 2,或者其长度小于或等于 0。

示例

下面的代码示例演示如何使用 WritePixels 方法更新后台缓冲区中的像素。

static void ErasePixel(MouseEventArgs e)
{
    byte[] ColorData = { 0, 0, 0, 0 }; // B G R

    Int32Rect rect = new Int32Rect(
            (int)(e.GetPosition(i).X), 
            (int)(e.GetPosition(i).Y), 
            1, 
            1);

    writeableBitmap.WritePixels( rect, ColorData, 4, 0);
}

注解

WritePixels(Int32Rect, Array, Int32, Int32, Int32)WritePixels(Int32Rect, IntPtr, Int32, Int32, Int32, Int32) 重载优先于使用此方法。

注意

在部分信任中,使用 WritePixels(Int32Rect, Array, Int32, Int32, Int32) 重载。

适用于

WritePixels(Int32Rect, IntPtr, Int32, Int32)

更新位图指定区域中的像素。

public:
 void WritePixels(System::Windows::Int32Rect sourceRect, IntPtr buffer, int bufferSize, int stride);
[System.Security.SecurityCritical]
public void WritePixels (System.Windows.Int32Rect sourceRect, IntPtr buffer, int bufferSize, int stride);
public void WritePixels (System.Windows.Int32Rect sourceRect, IntPtr buffer, int bufferSize, int stride);
[<System.Security.SecurityCritical>]
member this.WritePixels : System.Windows.Int32Rect * nativeint * int * int -> unit
member this.WritePixels : System.Windows.Int32Rect * nativeint * int * int -> unit
Public Sub WritePixels (sourceRect As Int32Rect, buffer As IntPtr, bufferSize As Integer, stride As Integer)

参数

sourceRect
Int32Rect

要更新的 WriteableBitmap 的矩形。

buffer
IntPtr

nativeint

用来更新位图的输入缓冲区。

bufferSize
Int32

输入缓冲区的大小。

stride
Int32

buffer 中更新区域的步幅。

属性

例外

存在下列一种或多种情况时。

sourceRect 处于 WriteableBitmap 的界限外。

bufferSize< 1

stride< 1

buffernull

注解

WritePixels(Int32Rect, Array, Int32, Int32, Int32)WritePixels(Int32Rect, IntPtr, Int32, Int32, Int32, Int32) 重载优先于使用此方法。

注意

在部分信任中,使用 WritePixels(Int32Rect, Array, Int32, Int32, Int32) 重载。

适用于

WritePixels(Int32Rect, Array, Int32, Int32, Int32)

更新位图指定区域中的像素。

public:
 void WritePixels(System::Windows::Int32Rect sourceRect, Array ^ sourceBuffer, int sourceBufferStride, int destinationX, int destinationY);
[System.Security.SecurityCritical]
public void WritePixels (System.Windows.Int32Rect sourceRect, Array sourceBuffer, int sourceBufferStride, int destinationX, int destinationY);
public void WritePixels (System.Windows.Int32Rect sourceRect, Array sourceBuffer, int sourceBufferStride, int destinationX, int destinationY);
[<System.Security.SecurityCritical>]
member this.WritePixels : System.Windows.Int32Rect * Array * int * int * int -> unit
member this.WritePixels : System.Windows.Int32Rect * Array * int * int * int -> unit
Public Sub WritePixels (sourceRect As Int32Rect, sourceBuffer As Array, sourceBufferStride As Integer, destinationX As Integer, destinationY As Integer)

参数

sourceRect
Int32Rect

sourceBuffer 中要复制的矩形。

sourceBuffer
Array

用来更新位图的输入缓冲区。

sourceBufferStride
Int32

输入缓冲区的步幅(以字节为单位)。

destinationX
Int32

后台缓冲区最左端像素的目标 x 坐标。

destinationY
Int32

后台缓冲区最顶端像素的目标 y 坐标。

属性

例外

存在下列一种或多种情况时。

sourceRect 处于 WriteableBitmap 的界限外。

destinationXdestinationYWriteableBitmap 的界限外。

sourceBufferStride< 1

sourceBuffernull

sourceBuffer 的级别不为 1 或 2,或者其长度小于或等于 0。

注解

WritePixels调用 方法以WriteableBitmap使用 的内容sourceBuffer自动更新 。 调用此方法等效于使用Lock类备注中所述的 WriteableBitmapUnlock 工作流。

注意

在部分信任中使用此重载。

另请参阅

适用于

WritePixels(Int32Rect, IntPtr, Int32, Int32, Int32, Int32)

更新位图指定区域中的像素。

public:
 void WritePixels(System::Windows::Int32Rect sourceRect, IntPtr sourceBuffer, int sourceBufferSize, int sourceBufferStride, int destinationX, int destinationY);
[System.Security.SecurityCritical]
public void WritePixels (System.Windows.Int32Rect sourceRect, IntPtr sourceBuffer, int sourceBufferSize, int sourceBufferStride, int destinationX, int destinationY);
public void WritePixels (System.Windows.Int32Rect sourceRect, IntPtr sourceBuffer, int sourceBufferSize, int sourceBufferStride, int destinationX, int destinationY);
[<System.Security.SecurityCritical>]
member this.WritePixels : System.Windows.Int32Rect * nativeint * int * int * int * int -> unit
member this.WritePixels : System.Windows.Int32Rect * nativeint * int * int * int * int -> unit
Public Sub WritePixels (sourceRect As Int32Rect, sourceBuffer As IntPtr, sourceBufferSize As Integer, sourceBufferStride As Integer, destinationX As Integer, destinationY As Integer)

参数

sourceRect
Int32Rect

sourceBuffer 中要复制的矩形。

sourceBuffer
IntPtr

nativeint

用来更新位图的输入缓冲区。

sourceBufferSize
Int32

输入缓冲区的大小。

sourceBufferStride
Int32

输入缓冲区的步幅(以字节为单位)。

destinationX
Int32

后台缓冲区最左端像素的目标 x 坐标。

destinationY
Int32

后台缓冲区最顶端像素的目标 y 坐标。

属性

例外

存在下列一种或多种情况时。

sourceRect 处于 WriteableBitmap 的界限外。

destinationXdestinationYWriteableBitmap 的界限外。

sourceBufferSize< 1

sourceBufferStride< 1

sourceBuffernull

注解

WritePixels调用 方法以WriteableBitmap使用 的内容sourceBuffer自动更新 。 调用此方法等效于使用Lock类备注中所述的 WriteableBitmapUnlock 工作流。

注意

在部分信任中,使用 WritePixels(Int32Rect, Array, Int32, Int32, Int32) 重载。

另请参阅

适用于