C# C在tif顶部创建矩形时出现图形错误

C# C在tif顶部创建矩形时出现图形错误,c#,C#,我拥有的是一个.tif文件被加载到图片框中。当我尝试在tif顶部绘制矩形时,它会引发以下错误: 无法从具有索引像素格式的图像创建图形对象 这是我正在使用的代码,它在使用Graphics g=Graphics.FromImageimg时抛出错误。img是加载到图片框中的文件 using (Graphics g = Graphics.FromImage(img))

我拥有的是一个.tif文件被加载到图片框中。当我尝试在tif顶部绘制矩形时,它会引发以下错误:

无法从具有索引像素格式的图像创建图形对象

这是我正在使用的代码,它在使用Graphics g=Graphics.FromImageimg时抛出错误。img是加载到图片框中的文件

                           using (Graphics g = Graphics.FromImage(img))                            
                        {
                            int x1value = Convert.ToInt32(x1);
                            int y1value = Convert.ToInt32(y1);
                            int x3value = Convert.ToInt32(x3);
                            int y3value = Convert.ToInt32(y3);
                            SolidBrush blackBrush = new SolidBrush(Color.Black);
                            g.FillRectangle(blackBrush, x1value, y1value, x3value, y3value);  

您正在尝试从图像中获取图形上下文。我相信你需要从位图缓冲区中得到一个

Image img = Image.FromFile(string2image);   
    Bitmap source = (Bitmap)img;   
    source = new Bitmap(320, 240,  System.Drawing.Imaging.PixelFormat.Format24bppRgb);   
    pictureBox1.Image = source; 
    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; 
使用图形g=Graphics.FromImagepictureBox1.Image


这个方法实际上只画了一个巨大的黑匣子。not会导致在原始文件上写入黑盒。

我正在使用图形进行新操作。要了解这一点,您是否有快速示例代码?graphics g=myPictureBox.CreateGraphics;g、 废话,废话;或者,您也可以获得picturebox paint或其他活动,然后执行e.Graphics.drawTriangle