从short []创建位图

时间:2014-01-16 21:17:39

标签: c# bitmap

public void CreateMaps()
{
    var GridWidth = GridSizeX;
    var GridHeight = GridSizeY;
    int stride = GridWidth * 3 * 2;
    byte[] bluegrid = new byte[GridHeight * stride];
    for (int i = 0, j = 0; i < GridWidth * GridHeight; i++ , j+=6)
    {
        bluegrid[j] = (byte)(SelectedItem.BlueGrid[i] >> 8);
        bluegrid[j + 1] = (byte)(SelectedItem.BlueGrid[i] >> 8);
        bluegrid[j + 2] = (byte)(SelectedItem.BlueGrid[i] >> 8);
        bluegrid[j + 3] = (byte)(SelectedItem.BlueGrid[i] & 255);
        bluegrid[j + 4] = (byte)(SelectedItem.BlueGrid[i] & 255);
        bluegrid[j + 5] = (byte)(SelectedItem.BlueGrid[i] & 255);
    }

    JetColorMapBlueGrid = BitmapSource.Create(
                GridWidth,
                GridHeight,
                96.0,
                96.0,
                PixelFormats.Bgr24,
                null,
                bluegrid,
                stride
                );
}

这是我的功能,但它正在工作,我认为我正在裁剪我阵列的一部分 你能看一下将SelectedItem.BlueGrid []转换为 byte [] 短数组,其大小为(GridSizeX,GridSizeY)的逻辑吗?

0 个答案:

没有答案
相关问题