5

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>のポインターを作成するにはどうすればよいですか?pPixelsT*

私のDrawBitmapジェネリックを作る他のトリックはありますか?

4

1 に答える 1

3

オーバーロードの使用を検討してください。

public void MethodA(byte[] pPixels) {}
public void MethodA(int[] pPixels {}
//etc...
于 2013-02-19T09:08:56.793 に答える