我正在从单声道相机中读取实时信号,并且在按下按钮时需要拍摄快照。 因此,当我转换指针时,相机会将我传递给位图(8 bpp)以进行进一步的图像处理, 颜色变得像这样奇怪
我猜它是因为我没有正确设置位图的调色板,所以我用Google搜索了一些 在VB中遇到了一些代码,它将位图的调色板设置为灰度。 我想在Visual Studio 2010下用C ++做同样的事情,只有在C ++中,调色板的构造函数是密封的,因此我无法声明新的灰度调色板然后将其分配给我的位图。
下面是我在Visual Basics中编写的示例代码:
Dim bmpobj As Bitmap
Dim pal As System.Drawing.Imaging.ColorPalette
pal = bmpobj.Palette
For i = 0 To 255
pal.Entries(i) = Color.FromArgb(i, i, i)
Next
bmpobj.Palette = pal
所以我要问的是:无论如何将我的位图调色板设置为灰度?