如果要移动一个图像,就象在word中移动一条线段一样,应该怎么做呢?是否还应该使用TImage呢,还是有其他更适合的组件呢?

解决方案 »

  1.   

    1.这个图像不能直接画在目标图上,要画在一个不可见的bitmap中
    2.获取鼠标位置与移动方向与距离
    3.清除原来的图象
    3.将需要移动的图象从源Bitmap中重新拷到目标图象上
      

  2.   

    这样啊,因为我学习delphi不超过10天,我对你的话的理解有限,具体地说:我为了画出delphi自定义之外的自定义的图像,也是动态生成一个TImage,然后显示,然后为了让这个TIamge能够移动,添加了它的相关onMouseDown等等属性,但是为了让那些在画布中显示的line,rectangle,ellipse都能移动,应该怎么做呢,能不能就上面你的说法说得更加详细些呢?谢谢!
      

  3.   

    好像是photoshop中层的用法;你可以参考fireworks的操作;方法如下:(仅供参考)当用户需要单个移动某line之类的的话,请他先建一个图层,再绘制图形(你在程序中就 动态生成一个timage,然后将这个timage移到最前面,让他在这个层上操作。并在旁边用个tcombobox来控制当前操作的层。)这样他就能任意移动其中某个图形,而且还可以任意缩放,处理(如:灰度转换,mask等)。
    如果他需要对所有层进行操作,就将combobox选到所有图层,(你在程序中就执行将所有的图层的内容都绘制到背景层上,然后对背景层操作)。保存的时候,就将所有的图层的内容都绘制到背景层上,再输出。
      

  4.   

    visio是一个画图软件,挺不错的,
    可恶的微软,见到好东西就往家里抢,
    妈的,现在被微软收购了,不爽