我曾这样试过:
Bitmap bit = new Bitmap(1, 1);//建立一个1*1像素的Bitmap
bit.SetPixel(Point.X, Point.Y, defPen.Color);//在Point处画defPen指定颜色这样子会报错“[System.ArgumentException] {"值不在预期的范围内。"}”

解决方案 »

  1.   

    //先用API解决,这个问题再找找有没有简单的方法,关注[DllImport("gdi32.dll")]
    static extern int GetPixel(IntPtr hdc, int XPos, int YPos);
    [DllImport("gdi32.dll")]
    static extern int SetPixel(IntPtr hdc, int X, int Y, int crColor);public int ColorToRGB(Color crColor)
    {
        return crColor.B << 16 | crColor.G << 8 | crColor.R;
    }
    private void button1_Click(object sender, EventArgs e)
    {
        Graphics vGraphics = Graphics.FromHwnd(Handle);
        SetPixel(vGraphics.GetHdc(), 10, 10, ColorToRGB(Color.Red));
    }
      

  2.   

    我觉得是用外部API不是个好的解决方案,比如在Pocket PC上怎么办?我要做的这个简单的画图程序就是做在Pocket PC上的
      

  3.   

    还有动态绘图效果用.net该怎么样实现呢?我所说的动态绘图效果是指:用画线函数等绘图的时候,用户可以任意拖动鼠标绘制,并且动态显示出当前的绘制效果,而只有当MouseUp之后绘制效果才定型。就类似于Photoshop中画线、画圆那样。我现在只能达到的效果是:鼠标拖动的时候绘制出的是同一起点的一系列的线(因为每次MouseMove的时候都没有将上次绘制出来的直线去除掉)
      

  4.   

    Q:都不能精确的画出一个点
    A:画点是不能用的,有画点的方法,如FillPie()
    Q:用.net怎么样做出动态绘图的效果?
    A:应该使用GraphicsPath类,而且MSDN上有现成实例,跟你要求的一模一样
      

  5.   

    用c++写好了, 用.net还要framework支持, 多麻烦啊, 而且速度很慢
      

  6.   

    回wuyazhe(wyz&xyl) ,画长宽一个像素的矩形的方法我验证过,画出来的不是精确的一个像素,而是2*2的一个矩形。画长短轴为1的椭圆我也验证过,画出来的也不是精确的一个像素,而是一个1*2的矩形。
    回jcyluck,谢谢你的建议,我会参考一下MSDN
      

  7.   

    说个题外话——今天所有的帖子到现在,我还没遇见wuyq11,那个三颗钻的,有问必答的神人。汗''''
      

  8.   

    使用 WPF 创建绘图应用程序
    http://msdn.microsoft.com/zh-cn/library/bb531278(v=vs.90).aspx