http://community.csdn.net/Expert/topic/2975/2975600.xml?temp=.5707514
这里面倒是讲了不少,可是我看了半天也没看懂
 kailong(凯龙) 回答里面的srcG.DrawImage(picTemp.Image,0,0);
这句话里picTemp是什么控件

解决方案 »

  1.   

    你可以从control继承一个类,然后在OnPaint()里重画图像,这里要控制图像的长和宽,以及画的位置(x,y),这样可以实现你的要求,具体平移的数据,通过鼠标的MouseDown和MouseUp来控制。e.Graphics.DrawImage(img,new Rectangle(px,py,tw,th),new Rectangle(0,0,img.Width,img.Height),GraphicsUnit.Pixel);//img为图像变量,px,py为坐标的x,y,tw和th为宽和高。
      

  2.   

    哦,这个可以实现放大和缩小了。
    那这个平移怎么实现啊?
    就像acdsee上那样,
    多谢!
      

  3.   

    同过改变px,py的数据改变图像的位置,比如当前x,y移动的位置差都为20,那将px和py分别减20然后重画图像不就行了吗.具体的平移差值数据,通过鼠标的MouseDown和MouseUp来得到。当MouseDown时记录当前的鼠标位置(pointOld),MouseUp时记录新鼠标位置(pointNew),然后就可以分别计算出x和y的差了。
      

  4.   

    这样的话,得把图像重新画一遍了。
    我是想像acdsee上那样,
    用鼠标拖动时图像直接就可以左拖右拖啊
    这个咋实现啊。。
      

  5.   

    你怎么知道acdsee上不是重画图像实现的呢?
      

  6.   

    哦,我也是猜的
    难道acdsee上就是重画的?呵呵