<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- 这里定义原始图片,设置鼠标移动到图片上触发的函数,已经离开图片触发的函数 -->
<img id="eagle" onmousemove="maxpicture(event)" onmouseleave="quitPicture(event)"/>
<!-- 这里设置画板,展示图片放大后的效果图 -->
<div id="mydiv"><canvas id="mcanvas" width="800" height="600"></canvas></div>
<script type="text/javascript">
var image=document.getElementById("eagle");
var divi=document.getElementById("mydiv");
image.src="eagle.jpg";  //原图片地址
var sizefactor=0.3;
//原始图片装载完成后触发的事件,将原图进行了缩放显示
image.onload=function()
{ //获取原始图片的长宽var originX=image.width;var originY=image.height;image.width=originX*sizefactor;image.height=originY*sizefactor;}
//鼠标离开原图触发的事件
image.quitPicture=function(event)
{//原图所在的位置是div元素内,因此将canvas元素进行了删除if(divi.hasChildNodes()){ divi.removeChild(divi.lastChild);}
}
//放大图片触发的时间事件
function maxpicture(event)
{var mouseX=event.offsetX; //定位鼠标所在的坐标(图片上坐标)var mouseY=event.offsetY;if(divi.hasChildNodes())   //这个事件是一个反复触发的过程,因此删除上一次绘制的画板重新绘制{ divi.removeChild(divi.lastChild);}//设置新创建的画板的属性var newCanvas=document.createElement("canvas");newCanvas.width=500;newCanvas.height=500;newCanvas.style.border="0.2px solid black";//向div中添加新的画板divi.appendChild(newCanvas);var newCtx=newCanvas.getContext('2d');//画板的区域是500*500,新绘制的大图是1000*1000,所有有一部分被忽略绘制//因为绘制所开始的区域是从画板左上方开始绘制,如果想让鼠标所在的点成为画板中心区域,对应原图坐标需要减去250,250//又因为原图和画板图片的比例尺为1:2,因此对应原图减去125,125newCtx.drawImage(image,(mouseX)/sizefactor-125,(mouseY)/sizefactor-125,500,500,0,0,1000,1000);}</script></body></html>

利用html5中canvas实现类似淘宝的放大图片效果相关推荐

  1. 仿淘宝商品放大展示效果制作(放大镜效果)

    如果您觉得这篇文章有用,欢迎点赞收藏或有什么建议请在评论区留言,我看到后会第一时间回复的,谢谢! (分享时刻) mac上取色比较好用的小工具:啜色: 好用的截屏小工具:Snipaste (常用的一个功 ...

  2. React实现类似淘宝tab居中切换效果

    效果 DOM布局 const label = {lettersort: false,paramname: "label",paramid: 0,title: "车源列表筛 ...

  3. H5类似淘宝头条垂直滚动效果

    不同样式的垂直滚动: 无缝垂直滚动: 间歇性垂直滚动(一次滚动一条): 间歇性垂直滚动(一次滚动两条): 变量解释: speed:滚动的速度: delay:暂停的时长: scrollTop :滚动的高 ...

  4. php代码输出笑脸,利用HTML5中的Canvas绘制笑脸的代码

    这篇文章主要介绍了利用HTML5中的Canvas绘制一张笑脸的教程,使用Canvas进行绘图是HTML5中的基本功能,需要的朋友可以参考下 今天,你将学习一项称为Canvas(画布)的web技术,以及 ...

  5. html页面画虚线,HTML5中canvas怎么画虚线

    HTML5中canvas如何画虚线 虚线也可以看成是一段段的实线组成的,而实线是利用context.moveTo(x,y);context.lineTo(x2,y2);context.stroke() ...

  6. 关于中国大学mooc嵩天老师课程中定向爬取淘宝产品信息

    关于中国大学mooc嵩天老师课程中定向爬取淘宝产品信息 python小白最近看老师课程,发现淘宝网页升级了,用以前的代码爬不了,查找了很多资料后发现了一些缺陷,在此分享给大家 老师的代码大体上没问题, ...

  7. VUE类似淘宝选择商品多规格(库存判断)

    1.组件效果展示 也可访问链接查看网页效果... 后面又用uni-app写过一次,比这次稍微清晰一些 uni-app类似淘宝选择商品多规格(库存判断) 瞎封装组件系列: VUE简单提示框 VUE树形图 ...

  8. App 金刚区导航菜单,类似淘宝、QQ 音乐等 APP 导航,方格布局横向滑动翻页带滚动条

    TransformersLayout 项目地址:zaaach/TransformersLayout  简介: :fire: App 金刚区导航菜单,类似淘宝.QQ 音乐等 APP 导航,方格布局横向滑 ...

  9. vue 实现类似淘宝的商品详情页的商品展示

    vue 实现类似淘宝的商品详情页的商品展示 利用vue和swiper实现缩略图控制 / Swiper互相控制 具体需求描述: 图片大图自动轮播展示,下面的缩略图跟着变化,点击小图切换到对应的大图,大图 ...

最新文章

  1. 数据中心运维管理社区祝大家新春快乐,虎年大吉!
  2. 网卡驱动程序之编写虚拟网卡(二)
  3. Extjs4开发中的一些问题
  4. HDU 5985 Lucky Coins 数学
  5. Oracle数据库管理›oracle内部的jdk版本
  6. 参加管理课程所获的 之一
  7. 2线性模型 r语言_多层线性模型在R语言上的实现(三)
  8. shell字符串长度
  9. Anaconda安装后找不到conda.exe
  10. 普通人学python有意义吗-风变编程:普通人学Python有意义吗?
  11. Eclipse切换回中文
  12. 此语言无法安装在此计算机上win7,win7系统无法安装英文语言包解决方法
  13. mathtype 转换 matlab,MathType和Mathematica之间如何相互转换
  14. 《七周七并发模型》作者Paul Butcher、阿里云研究员余锋(褚霸)——QCon北京2016前瞻...
  15. 英语十大词性之四 - 副词
  16. 来此加密证书申请,验证,自动部署
  17. unity3D多点测量、多边形面积测量
  18. SQL模糊查询时LIKE怎样跟变量
  19. 如何提升数据思维能力?
  20. 滑稽,使用paddle轻松搞定抠图,妈妈再也不用担心我不会抠图了

热门文章

  1. 在Java中轻松将HTML格式文本转换为纯文本(保留换行)
  2. OpenCVSharp入门教程——导读
  3. MessageBox ShowNumber 之类的迷案
  4. 向伟大的张三同志致敬
  5. 微星b450迫机炮主板,省电
  6. aws怎么认证?AWS认证考试需要注意什么?
  7. Python-数据库游标对象详解
  8. ASL CS6211 USB3.2 高速信号中继器芯片|CS6211芯片功能|CS6211参数特性
  9. java生成图片(文字图片)
  10. opengl各个坐标系理解与转换公式