今天看了一个VB的OCR。
于是开始产生临模,果然,水平太差。以至于中途碰壁。想求这样一个实例,就是鼠标在一个BIM上点击左健拖动后形成一个矩形框,这个矩形框有八个控制点,可以拖动大小,和移动位置。今天扣了一部分VB代码出来,还没有完全翻译为DELPHI码。说白了就像QQ的剪图功能。望高手指点一二,最好有实例源码。

解决方案 »

  1.   

    这个要翻译其它语言干嘛呢? 用delphi的Canvas 结合MouseMove, MouseDown, MouseUp事件做,很简单
      

  2.   

    不久前我回复过一个人,发了完整的代码用的是tshape
      

  3.   


    这个我也知道,但自己没有写过绘八个控制点的,一下脑子空白没了思路,所以想看看别人的实现,当然,有思路我想实现起来也不复杂,只是一些图像的函数啊之类的我还不太熟。如BITBLT啊,SELECTOBJECT啊。DC啊之类的。
      

  4.   

    其实QQ之类的,也就是把屏COPY了,生成一个FORM,在FORM上画屏或FORM上的IMAGE画.不信你可以试试QQ的截图, 再按键盘上的WIN键, 菜单会盖过截图的
      

  5.   

    这是武稀兄的改变代码:
    http://blog.csdn.net/wr960204/archive/2007/09/17/1787946.aspx只需把那个操作对像在移动时加上代码,计算再画到这个控件上,就行了. 相当于两个IMAGE,一个盖过全屏,只是叠起来了,保存时只需保存这个控件上的画就行了.
      

  6.   

    我知道QQ的截图,难道我真的要挖空一个PANEL控件来实现?难道就没有更好的方法/
      

  7.   

    在内存里面建立一个TBitmap来存放不就可以了。
      

  8.   

    可以直接用 gdi+画  。。
     不是很复杂的话。
    如果是针对图像处理的话 最终都是要操作图像文件的
    移动的点都要要还原到 图像文件中点
    操作移动就是为了显示 存储点比较方便。
      

  9.   

    用8个形状控件放8个小方块(控制柄) 
    用1个形状控件放一个虚线方块  ■    ■    ■  ■         ■  ■    ■    ■1.用MouseMove, MouseDown, MouseUp来移动方块的位置,
    2.移动当前方块的同时修改其他几个关联方块的位置
    3.重新设置虚线方块的大小及位置比如拖动左上角方块,需要
    1.用MouseMove, MouseDown, MouseUp来移动左上角方块的当前位置
    2.计算并修改除了左下角、左上角方块以外的方块位置
    3.修改整个虚线矩形框的大小及位置再比如拖动上面中间的方块时,下面三个方块位置不变
    这些做完了以后,使用虚线矩形框的坐标就可以截图了