位图上的C#黑线

时间:2016-12-29 10:36:19

标签: c# bitmap lines


我使用具有自己的API的相机。相机发给我一系列灰度图像,然后把它变成彩色。
但是,当我这样做时,我会得到一张黑色线条。
图像是这样的:

enter image description here

你可以看到,图像中有黑线,我不明白为什么,因为我直接从相机拍摄的照片没问题,也没有黑线。

我用来获取图像的代码是:

Camera.Memory.Lock(s32MemID);
Camera.Memory.ToIntPtr(s32MemID, out ptrImage);
short[] temp = new short[m_tMatrixArray.Length];
Marshal.Copy(ptrImage, temp, 0, temp.Length);
System.Buffer.BlockCopy(temp, 0, m_tMatrixArray, 0, temp.Length * sizeof(short));


我用来制作位图的代码是:
colorArray很好。

int[] data = new int[m_tMatrixArray.Length];
Color[] colorArray=new Color[256];
Color[] m_color = new Color[4096];
float l_dPaletteStepStep = (colorArray.Length - 1) / (float)m_color.Length;
getColorArray(colorArray);
for (int i = 0; i < m_color.Length; i++) m_color[i] = colorArray[(int)Math.Ceiling(i * l_dPaletteStepStep)];

for (int i = 0; i < m_tMatrixArray.Length; i++) data[i] = m_color[(int)m_tMatrixArray[i]].ToArgb(); 
Marshal.Copy(data,0,bmpData.Scan0,data.Length);
bmp.UnlockBits(bmpData);
Camera.Memory.Unlock(s32MemID);

videoImageControl.Image = bmp;
videoImageControl.Invalidate();



谢谢你的帮助。

0 个答案:

没有答案