1。可以重写PictureBox控件加入滚动条
2。Clip是剪切裁剪区,可以编成控制裁剪区域

解决方案 »

  1.   

    1、要想在绘图表面上绘图,就必须有Graphics类的一个实例,创建Graphics对象的方法如下:
    Graphics g=this.CreateGraphics();
    假如在窗体的重绘事件中可以这样创建:
    Graphics g=e.Graphics;
    2、GDI+提供的两个类可以用于表示图象:Bitmap 类和Metafile类。这两个类都继承自Image类。
    创建Bitmap对象的方法如下:
    Bitmap bmp=new Bitmap (@"e:\rama.jpg") 
    3、Image类是一个抽象类,这表示不能直接创建Image对象——只能创建继承于它的Bitmap 类和Metafile类的实例。
    4、使用Graphics 类把内存中的图象显示到绘图表面上
    g.DrawImage(bmp,0,0)
    所以Graphics 和Bitmap 是相互独立的,你直接操作Bitmap 对象就好,刷新后自然会显示的改变的图象
      

  2.   

    最简单的方式是pic里再加一个pic
    外边的pic要求超出范围加上滚动条
    滚动的时候移动里面的pic
      

  3.   

    1、如何实现可以滚动的picturebox,就是在下方和右方有滚动条那种。
    在你的pictureBox底下再放一个Panel,在吧picturebox的size属性改为AutoSize
    ,panel的AutoScroll设置为true就行了
    3  g = Graphics.FromImage(bitmap);
      

  4.   

    wsjdx(猫)  大侠
    我需要实现以下功能:
    1、在一张原图在画上字
    2、在字上面做一些效果(注:只是字做效果,原图并不做效果)
    3、字和原图合并保存成一张新的图片(类似于PHOTOSHOP的图层功能)
    我的程序如下:
    Graphics g=picturebox.CreateGraphics();
    Font fc = new Font("宋体",85, System.Drawing.FontStyle.Bold);
    PointF pf=new PointF(200,200);
    StringFormat sf=new StringFormat();
    SolidBrush sb=new SolidBrush(Color.blue);
    g.DrawString ("Text",fc, sb,pf,sf);
    //以下实现效果的代码,由于实现效果的代码需要对BitmapData进行操作,
    我现在就不知道如何将上面写的字转换为BitmapData(只是字,而不是整个图)
    以上的程序还有一个问题就是写上去的字,只要窗口动一下,或是被其它窗口挡住,字就会不在了。

    如果将上面的代码换为:
    Graphics g=Graphics.FromImage(picuturebox.Image)
    的话,倒是可以解决字不在的问题,也可以从Image中得到BitmapData,但是做出来的效果是整张图的,而不只是文字的,并不能实现我的要求。

    请各位大侠出招。