我们老师让我们做这样的作业:
要求在form(或panel,image上都行)用画点函数来画一条线,也就是线条是用很多很多点连起来的,并且要能用鼠标捕捉到这条线,也就是说,当鼠标移到这条线上,在按下左键移动鼠标的时候,
线条也能跟着移动,就像office里的线条那样。最好还能旋转。
我从来没做过图形编程,那位高手帮忙,给出完整源码。

解决方案 »

  1.   

    如果要求不高的画你可以扩展panel,除线条外颜色透明。。再加入鼠标事件.
      

  2.   

    3楼说的是让你继承TPanle,改变显示属性,再支持鼠标拖拽
      

  3.   

    要捕捉到线条,当然就要先存储线条,一般来说,存储了线段的开始和结束两点就可以了,通过这两点可以计算出位于该线段上的点的条件(这是高中的数学了吧)。当鼠标指向的点满足条件就捕捉到了。移动线条可以用xor的方式(delphi的Demo里面有一个现成的),但是考虑到线条交叉,最好是所有的线条重画,当拖动的时候
      

  4.   

    http://www.efg2.com/Lab/Graphics/LineStretch.htm