VB图像处理多次undo如何实现
来源:互联网 发布:淘宝头条写手兼职 编辑:程序博客网 时间:2024/05/18 15:53
做毕业论文的时候遇到的一个问题,请教豆瓣上的网友才有了答案。谢谢这位叫“异彩”的朋友。拿出来与大家分享。
用VB做图像处理软件的毕业论文,遇到一个问题。加载一幅图片,用多个滤镜分别处理,想一步一步UNDO到最原始的图像,多次UNDO怎么实现?
参考方案:
如果想做到多次UNDO的话, 无疑是需要记录操作的每次步骤. 具体有两种形式:
1, 在程序内存中存贮:
在程序中建立栈(不知道你学过没学过栈, 如果没有的话可直接理解为数组), 栈满足了后进先出(LIFO)的的规则.
在每次进行对图像的操作时, 都将上一幅图像备份(注意是深层备份, 如果是浅表引用的话是起不到效果的)到到这个栈中. 这样, 当执行UNDO时, 就可以从栈里面提取一个上一次保存的图像, 替代当前图像(并删除这个备份), 知道这个栈为空. 实现了多次UNDO.
这种方法的特点是处理数度比较快, 但是也非常消耗内存.
2. 在文件中存储:
同样是备份每个操作前的图像,但这次是存储到硬盘上, 这需要你以一定的文件名规范(xxx_temp_1.jpg, xxx_temp_2.jpg依次等等)去防止重名的情况. 同样在UNDO的时候, 去加载上一个编号的文件, 并删除之, 这样也实现了多次UNDO.
这种方法的特点自然是消耗内存少, 但是undo的处理速度没有前者快.
3. 两种方法结合.
略...
- VB图像处理多次undo如何实现
- [VB.NET]VB 图像处理
- 如何实现C#.net图像处理
- VB在高效图像处理
- opengl中如何对图像多次模糊
- 如何处理页面多次加载的问题
- hadoop hdfs多次format后如何处理
- VB图像处理,(三)几个常用滤镜的实现1
- VB图像处理,(四)几个常用滤镜的实现2
- (vb)利用GetBitmapBits,SetBitmapBits加速图像处理
- 用VB.NET捕获视频处理图像
- VB备忘录(16)图像处理
- 如何实现交互式的图像处理(学习ing)?
- 如何处理UNDO表空间太大的问题
- 如何处理undo tablespace 表空间太大的问题
- 报表工具如何实现多次导入Excel
- GLSL实现图像处理
- GLSL实现图像处理
- SVG图片详解
- C#'s const vs. readonly
- IBM---Java 多线程与并发编程专题
- 用C#进行DirectX开发
- java中得到当前路径
- VB图像处理多次undo如何实现
- PL/SQL developer将excel数据导入Oracle
- CD4094中文资料
- JAVA开发环境配置说明书
- Graphics的setClip与clipRect的区别
- VC++从入门到精通视频教程
- mac usb modem驱动软件功能与demo
- AT45DB041B中文资料-AT45DB041中文资料
- 非主流图片制作,手机图片制作