有很多方法啊
1.Graphics::FormDC  
  继续BitBlt2.Graphics::GetDC
  继续BitBlt3.Graphics::FormBitmap
  然后把Bitmap画到另外一个Graphics

解决方案 »

  1.   

    用惯了GDI,虽然GDI+能做出更炫的效果来,但是GDI也行的,而且GDI+存在效率上的问题
      

  2.   


    你说的第一条,第二条,实际是回到了使用CDC来做, 而不是使用Graphics, 如果Graphics不是从DC构造的, 1,2方法就不可用了.对于第三条, 这又是借助于Bitmap了. 同样有1,2条的缺点, 如果我要的仅仅是从两个DC间复制呢?我想要的方法还是能直接或者间接以Graphics对象为基础. 像CDC那样方便的相互复制.
      

  3.   

    我说一说的我需求吧.
    目的是返回一个纹理画刷, 在WM_CTLCOLOREDIT的时候.纹理画刷, 我先想到的就是TextureBrush
    而TextureBrush的构造需要一个Image对象.
    而我又想把内存DC上内容作为纹理绘制.
    想把DC中的内容放到TextureBrush中.我想到的方法就是两个Grahics作为中转.
    因为Graphics既可以从DC构造, 也可以从Image构造.
    这样DC和Image就有了共同的关联点.
    所以, 只有解决了Graphics对象间的数据复制, 就可以创建出一个纹理画刷了.当然, 中间还有一个比较重要的问题, 就是怎么从TextureBrush转换到HBRUSH句柄? 这也是一个问题.