搞得跟ps里面的图层似的。 比如那个叫啥 可牛看图 里的效果。 GDI+能实现吗,还是需要啥高级技术呢

解决方案 »

  1.   

    先看看CRectTracker可以方便的实现图片等的移动各改变大小,其它就是用GDI+画图了.
      

  2.   

    自绘控件。这个是很难的
    photoshop使用了OPENGL+CG处理图像
      

  3.   

    用橡皮筋类吧,CRectTracker类应该可以,看一下这个:参考
      

  4.   

    重点关注ing.......楼主,解决了吗?分享一下思路.
      

  5.   

    这贴不能沉啊,我也需要...高手指点详细点吧,那个用CRectTracker的怎么让Tracker旋转呢?还有Tracker里怎么加文字?看了下好像Tracker的绘制也是使用它所在窗口的DC绘制的。。
    指点详细点
      

  6.   

    最后 文字层 和 背景图 要合成到一起的,就像 加水印那样的。CRectTracker 可以么?很怀疑
      

  7.   

    不用做图层,那是专业软件,图层只是一个庞大的类,其主要目的不是添加文字,
    如果简单如LZ所说添加文字用GDI+自己写即可,用不到第三方控件panel响应鼠标移动事件,找到坐标............
      

  8.   

    我想到一个思路: 
    分为DrawImage和DisplayImage两步
    1、DrawImage()
       // 将背景图和文字还有其他对象先绘制到一个内存图像上 (采用双缓冲绘制)
      // (1)先将背景图绘制到内存图像上
      // (2)然后绘制文字到内存图像上(绘制文字时使用字体、位置、旋转角度,然后绘制文字外框)
      // (3)绘制其他对象到内存图像上
    2、DisplayImage()
      // 内存为图传递给视图,直接显示在显示设备上交互问题,UI作入口:
    1、OnMouseMove()
      // 判断N多状态,每个状态DrawImage得一幅对应的内存位图
    2、OnLButtonDown()
     // 判断N多状态,每个状态DrawImage得一幅对应的内存位图
    3、窗口改变大小
      // 判断N多状态,每个状态DrawImage得一幅对应的内存位图
    难点:状态多,逻辑复杂,绘制对应位图,计算量大。曾经尝试:透明CEdit、CRectTracker+透明CEdit、透明Dlg窗口、直接使用图像显示的设备DC等,都不理想。
    这个问题搞了一周了,没搞定,很是苦恼啊。
    没有人再指点指点吗
      

  9.   

    。。 字体你用API画好保存成位图 你翻转就相当于翻转图片,你记录点 放大缩小就相当于 缩放这图片。我写的没你这么多共功能但是我的能拖拽,可能又别的办法,你要自己写够你费事了。用图层可能简单一点。 有高人知道别的方法 小弟也受教了
      

  10.   


    半个多月了,还有下文么&_&
      

  11.   

    是不是这个意思了可以从这里下载 http://icoomoo.qupan.cc/6699661.html