2013-04-13 156 views
0

我有灰色的位图图像。如何在灰色位图图像上绘制彩色图形?

 Image<Gray, byte> cannyImage = new Image<Gray, byte>(pathImg); 
     Bitmap drawImg = cannyImage.ToBitmap(); 

我想在这个图像上画一些形状:

Graphics g = Graphics.FromImage(drawImg); 
    g.DrawLines(new Pen(Color.Purple), shapes[0].sample.pointsArray); 

在代码的最后一行我得到这个错误:

图形对象不能从图像中被创建,具有索引像素格式。

任何想法如何在灰色位图图像上绘制彩色形状? 提前谢谢!

+0

紫色像素,(RGB:230,230,250,可以存储在一个字节仅当一些索引表用于存储颜色,即图象标题具有其限定允许的256个色的表.i认为需要Bgr创建图像时才能使用它的颜色。 –

回答

2

转换为Bgr(RGB),然后试试你的代码。

Image<Bgr, Byte> cannyBgr = cannyImage.Convert<Bgr, Byte>(); 
Bitmap drawImg = cannyBgr.ToBitmap(); 
相关问题