我认为有一些方法……

点击发布后重绘所有内容

这很简单但效率不高.

仅重绘已更改的部分

具有9个参数的drawImage仅重绘已更改的背景图像部分,然后重写黑色文本.

单击之前保存图像数据,然后将其还原

这使用2D上下文的getImageData和putImageData. (不确定它是否被广泛实施.)

这里的规格:

ImageData getImageData(in double sx,in double sy,in double sw,in double sh);

void putImageData(in ImageData imagedata,in double dx,in double dy,in optional double dirtyX,in double dirtyY,in double dirtyWidth,in double dirtyHeight);

因此,例如,如果更改的部分位于从(20,30)到(180,70)像素的矩形中,则只需执行以下操作:

var ctx = canvas.getContext("2d");

var saved_rect = ctx.getImageData(20,30,160,40);

// highlight the image part ...

// restore the altered part

ctx.putImageData(saved_rect,20,30);

使用两个叠加的画布

第二个画布位于第一个画布上,将保持红色矩形和白色文本,并在您想要“恢复”原始图像时清除.

html区域背景,保存/恢复HTML5 Canvas的背景区域相关推荐

  1. CSS3 渐变新特性和HTML5 Canvas画布背景渐变实现方法详解

    CSS3 渐变新特性和HTML5 Canvas画布背景渐变实现方法详解 大家好,又见面了,感觉我上一篇博客对部分同学都挺有帮助的,于是我决定继续写下去,会继续的解析知识点让大家更容易理解,希望能给大家 ...

  2. HTML5 canvas 设置背景图

    页面代码如下 <!DOCTYPE html> <html><head><meta charset="utf-8"><title ...

  3. 如何存储和恢复 HTML5 Canvas 状态

    当我们在 HTML5 Canvas 上使用其 2D 上下文进行图形绘制的时候,可以通过操作 2D 上下文的属性来绘制不同风格的图形,例如不同字体.填充等等. 通常情况下,在画布上的绘图时,您需要更改在 ...

  4. html画布时钟添加背景图,用HTML5 Canvas 实现的 时钟

    基本动画的步骤 Basic animation steps 用canvas画一帧动画,通常需要以下四个步骤: 1.  清空 canvas 除非接下来要画的内容会完全充满 canvas (例如背景图), ...

  5. html5 烟雾,jQuery烟雾背景发生器(HTML5 Canvas插件waterpipe.js

    插件描述:waterpipe.js是一个创建烟雾弥漫的背景,有多种效果可选择,自定义参数效果还是挺酷的哦! 使用方法 1.包括jQuery和waterpipe.js 2.创建画布元素内包装 Your  ...

  6. html5悬浮圆圈背景动画特效,HTML5 canvas梦幻圆形泡泡动画背景特效

    background.js是一款HTML5 canvas梦幻圆形泡泡动画背景特效.通过background.js插件,你可以轻松的制作出带渐变效果的气泡动画背景效果,并且背景颜色能在4种颜色间平滑过渡 ...

  7. html5悬浮圆圈背景动画特效,html5圆圈浮动背景动画特效

    特效描述:html5 圆圈浮动 背景动画特效.html5圆圈浮动背景动画特效 代码结构 1. 引入JS 2. HTML代码 var container; var camera, scene, proj ...

  8. html全屏背景视频特效,HTML5全屏背景视频特效插件Vidage.js源码

    下面我们对HTML5全屏背景视频特效插件Vidage.js源码文件阐述相关使用资料和HTML5全屏背景视频特效插件Vidage.js源码文件的更新信息. HTML5全屏背景视频特效插件Vidage.j ...

  9. HTML5 Canvas save 保存恢复状态

    保存恢复状态 在绘画的时候,经常会有这种情况,本来正在用绿色笔画,突然需要用红色笔画几笔,但画完了之后又要换成绿色笔.如果是在现实中作画,可以把笔蘸上不同的墨水,画了之后又蘸上之前的墨水,或者准备几只 ...

最新文章

  1. 大一java实训报告1500字_从800字小作文,到3000字小论文你用了多久? | 校媒FM
  2. Cxf + Spring3.0 入门开发WebService
  3. NLP中文面试学习资料:面向算法面试,理论代码俱全,登上GitHub趋势榜
  4. PAT甲级1154 Vertex Coloring :[C++题解]图论、模拟、结构体存边
  5. 《上海市产业绿贷支持绿色新基建(数据中心)发展指导意见》印发了
  6. JUC多线程:Atomic原子类与CAS原理
  7. linux终端安装cuda,Ubuntu下安装CUDA10.0以及问题
  8. 大学计算机导论报告,大学计算机导论论文参考.docx
  9. Node.js 线程你理解的可能是错的
  10. js 获取html文字颜色,js获得网页背景色和字体色的方法
  11. (转)资产管理和财富管理的区别
  12. Tomcat starup.bat脚本开机自启动
  13. 优盘中发现计算机病毒怎么办,电脑u盘中病毒exe文件怎么办
  14. 数据结构与算法课设:基于交通路线的规划系统
  15. python sample函数_Python pandas.DataFrame.sample函数方法的使用
  16. php如何做拆弹,拆弹有多难?千万别被《拆弹专家2》给骗了,不可能遇到这种炸弹...
  17. Gluster部署案例
  18. 职场新人如何招架同事倚老卖老?
  19. 基于Spark框架的大型分布式矩阵求逆运算实现(二)——大型下三角矩阵求逆运算
  20. new bing 重定向到cn.bing,new bing使用不了的问题

热门文章

  1. 女朋友:你能给我讲讲单例模式吗?
  2. 工作5年后才明白:不起眼的技能中,藏着你的未来
  3. 劳荣枝潜逃 23 年落网,多亏了它!
  4. 不止 RTC 技术盛会,你还应该知道的声网给开发者的福利
  5. 标贝科技语音论文入选全球顶级语音学术大会INTERSPEECH2019
  6. “敏捷项目管理就是胡闹!”
  7. 火速拿来用!对比 12,000 个 Vue.js 开源项目发现最实用的 TOP45!
  8. 华为回怼特朗普;中兴首款 5G 上市;iPhone 可免息分期购买 | 极客头条
  9. 北京涛思数据获得 Pre A 轮融资,专注时序空间大数据领域
  10. 漫画:什么是字符集和编码?ASCII、UTF-8、UTF-16、UTF-32 又是什么?