我有一个WriteableBitmap
,我使用不安全的方法来绘制像素。其中关键部分如下:
private unsafe void DrawBitmap(WriteableBitmap bitmap, byte[] pixels)
{
// Boilerplate omitted...
fixed (byte* pPixels = pixels)
{
for (int y = 0; y < height; y++)
{
var row = pPixels + (y * width);
for (int x = 0; x < width; x++)
{
*(row + x) = color[y + height * x];
}
}
}
bitmap.WritePixels(new Int32Rect(0, 0, width, height), pixels, width*pf.BitsPerPixel/8, 0);
}
然而,并不确定用户要绘制的是
byte
类型,因此将该方法泛型化(即DrawBitmap<T>
)是有意义的,但如何把指针pPixels
转换为T*
类型呢?是否有其他技巧可以使我的
DrawBitmap
变成泛型的呢?