大家好,小弟在做画图板程序开发的时候遇到个问题:
    我的view是继承于CScrollView的,我在上面自己画的图型(圆,矩形,直线 -->这些都是做成一个个对象的,都是可以删除、移动的) 现在我要把这些图形或者图片(bmp)经过自己的编辑操作以后想把他们一起作为一个整体保持成 bmp格式的一张整的图片(就是整个cscrollview里面的内容)。 想在当前界面的(即可见部分是保存成功了,但是scrollview的那部分滚动条移动后的内容却是全体黑色的,没能正确保存出来)
    大家有什么方法能解决这个问题呢?谢谢大家回答~

解决方案 »

  1.   

    建立一个内存DC,并设置及尺寸为图形尺寸(包括非可见部分),保存时,先对View发送重绘消息,并使用自己建立的内存DC代替 OnPaint中的 CPaintDC dc(this); 然后保存内存DC为BMP即可。这里面有个关键,就是在保存时,才使用内存DC,其他时候使用当前窗口DC。可以设置一个全局变量来判断。
      

  2.   


    -----------------然后保存内存DC为BMP即可 
    其实我就想听下这句话具体要什么函数之类的实现的...能详细讲讲吗?
      

  3.   

    跟你显示自己的图像时一样的。也是吧图像画在DC上,这个DC是自己创建的兼容内存DC,最后要把dc保存成bmp