其实问题源于
http://community.csdn.net/Expert/topic/3394/3394286.xml?temp=.613598我当时可以用Paint事件画出来了,但是我想控制动态绘制的文字,做起来却很困难。因为还是想用先把图片加载到内存中,然后处理好后再赋给PictureBox的方式。
请指教!

解决方案 »

  1.   

    那你用picturebox的graphics来draw这个image呢?行不行
      

  2.   

    干脆换个panel控件得了。
    picturebox的image 可能 是要来源于文件的。
      

  3.   

    恩,对了,忘了问你在Form的试图编辑器中那个picturebox的img属性是不是关联到某个文件了?另外建议你把picturebox.iamge赋值的这段语句放到dlg的构造函数里面去,而不要放在picturebox的paint事件函数里面至于为什么,我想上篇帖子我给你回复里面讲过了,有一个paint的顺序问题。
      

  4.   

    我之前采用的方法就是Draw的。但是需要写到Paint事件中,这样的话对于文字字符串传入存在问题,所以才只能采用这个方法。
      

  5.   

    科尔,我用的PictureBox是动态创建的,在创建的时候会加载图片。现在我没有写到Paint事件中了,我是写在了构造的代码中,只不过你看到的PictureBox.Image属性的全部代码没放出来。之前是没有给PictureBox赋值的。我现在想知道为什么用我上面写的那段代码没法传回Image给PictureBox?
      

  6.   

    那如果你不用函数传回的形式呢?直接把上面函数的内容放到你的picturebox.image赋值语句之前,然后再用picturebox.image = img;
    理论上讲,类属于引用类型,你在函数里面用return img;应该是可以得到那个img的啊,你传回的是null还是没有绘上字符串的image?
      

  7.   

    Graphics g = Graphics.FromImage(img);
    就是上面这一步,我进行代码跟踪的时候,发现每次到了上面这步就直接跳出去了。不知道为什么?
      

  8.   

    如果picuturebox1.image=PaintText("图路径","写字")感觉没什么问题,请楼住picturebox1.refresh
    实在不行,+我msn:
    [email protected]
      

  9.   

    找到原因了,因为我加载的是个GIF文件。
    系统提示错误:无法从带有索引像素格式的图像创建 Graphics 对象。
    但是我只能用GIF文件的呀,该怎么办呢?
      

  10.   

    问题解决,谢谢各位!因为带有索引,所以我用了Bitmap类转成了位图,再操作就可以了。