热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是canvas离屏技术?canvas放大镜效果如何实现?-

本篇文章给大家带来的内容是关于什么是canvas离屏技术?canvas放大镜效果如何实现?,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
本篇文章给大家带来的内容是关于什么是canvas离屏技术?canvas放大镜效果如何实现?,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

利用canvas除了可以实现滤镜,还可以利用离屏技术放大镜功能。

为了方便讲解,本文分为 2 个应用部分:

  1. 实现水印和中心缩放

  2. 实现放大镜

1. 什么是离屏技术?

canvas 学习和滤镜实现介绍过drawImage接口。除了绘制图像,这个接口还可以:将一个canvas对象绘制到另一个canvas对象上。这就是离屏技术。

2. 实现水印和中心缩放

在代码中,有两个 canvas 标签。分别是可见与不可见。不可见的 canvas 对象上的 Context 对象,就是我们放置图像水印的地方。

更多详解,请看代码注释:



  
  
  


  

实现效果如下图所示:

3. 实现放大镜

在上述中心缩放的基础上,实现放大镜主需要注意以下 2 个部分:

  1. 细化处理canvas的鼠标响应事件:滑入、滑出、点击和松开

  2. 重新计算离屏坐标(详细公式计算思路请见代码注释)

  3. 重新计算鼠标相对于 canvas 标签的坐标(详细公式计算思路请见代码注释)

代码如下:



  
  
  


  
  
  

放大镜效果如下图所示(被红笔标出的区域就是我们的正方形放大镜):

html+canvas实现屏幕截取

以上就是什么是canvas离屏技术?canvas放大镜效果如何实现?的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
author-avatar
贪婪黑夜面_780
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有