问题如下:
一个内存位图HBITMAP.选入到一个内存CDC 中。有一批画图命令在该CDC上绘图,我怎样得到,一个画绘图命令绘制后位图上有哪些点被绘过了。
本人曾考虑过两种方法:1、搓影法(即绘前与绘后比较),有以下问题:绘制的颜色与当前的点相同,绘制后也不会有变化。2、准备一幅白底位图,画图命令采用黑色绘图,然后取黑色点。问题,如果是一个填充命令,就不行了。望大虾指点迷津!

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1217/1217013.xml?temp=.3893549
      

  2.   

    WINDOWS绘图程序的“撤消”命令是怎样实现的?
      

  3.   

    vcPlayer(我是一只小小鸟!) :撤消可以有两种方法,一种是为每一画图命令定义一个Undo操作,这种方法实现起来比较麻烦,但内存花费比较少,效率也很高,另一种每次画图前对当前位图进行备份,放入一个链表中。这种方法实现简单,但占用比较大的内存,如果你存到文件中,则效率要差一些。
      

  4.   

    不要直接画到你的bitmap上,在另开一个bitmap用来当前画图,至于屏幕所显示的是该两个bitmap的合成。有点类似图层的概念。
      

  5.   

    使用路径,
    然后GetPath得到所有路径中的点
      

  6.   

    不要直接画到你的bitmap上,
    再开另一个bitmap用来当前画图,
    至于屏幕所显示的是该两个bitmap的合成。
    有点类似图层的概念。
      

  7.   

    handsomge(和尚).你的想法好像可以,我先试一下。
    GZCompiler(编译器) :如果是填充的话就不行了。
      

  8.   

    handsomge(和尚):能不能把你的想法说得详细一点。
      

  9.   

    zswzwy(对! 我就是被封杀的☆ZSWZWY☆!) 
     能不能把你的想法说得详细一点。