主题:请教: 用CDib类实现撤销、重复操作
我用了《精通Visual CNET图像处理编程》的CDib类来实现画图的功能,想增加撤销、重复操作,采用《类似画笔的绘图控件》里的方法,用DIBToBitmap函数保存每次操作的位图到堆栈,撤销、重复时采用BitmapToDIB函数。撤销、重复可以实现。问题是当读入小的图像时,操作到n步后(n由图像大小决定,图像越大,n就越小)用DIBToBitmap函数转换出的位图为空。如果读入大的图像,直接就转换为空了。同一幅小图像,如果程序刚开始运行,可以进行撤销、重复操作。但如果之前对其他的图像有操作,再来处理这幅图像时也会出错。我感觉是内存的问题?但好几天了,一直没有找到问题的原因和解决方法。马上就要检查了,比较着急,请大家帮忙!