canvas实现图片根据滑块放大缩小效果
作者:z5895451 发布时间:2024-04-16 09:52:15
标签:canvas,图片
效果图:
图(1) 原始图
图(2) 缩小后
图(3) 放大后
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#canvas1{
box-shadow: 3px 3px 10px black;
}
</style>
</head>
<body>
<canvas id="canvas1" width="500" height="500"></canvas>
<input type="range" name="slider" id="silder" value="0.5" max="1" min="0" step="0.01"/>
</body>
<script type="text/javascript">
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
var slider = document.getElementById("silder");
var scale = slider.value;
creatImg(scale);
slider.onmousedown = function() {
slider.onmousemove = function () {
scale = slider.value;
creatImg(scale);
}
}
function creatImg (scale) {
var myImg = new Image();
myImg.src = "https://gss0.baidu.com/-vo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/902397dda144ad34ac75c376d7a20cf430ad857d.jpg"
var imgh = canvas.height * scale;
var imgw = canvas.width * scale;
var x = canvas.width / 2 - imgw / 2;
var y = canvas.height / 2 - imgh / 2
myImg.onload = function () {
context.clearRect(0 , 0 , canvas.width , canvas.height);
context.drawImage(myImg , x , y ,imgw , imgh)
}
}
</script>
</html>
来源:http://www.qdfuns.com/notes/41622/5381b36deb5bb107f536c1699b4b9446.html


猜你喜欢
- 近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉
- 读取一个已经保存了的字典f = open('dict_th','r')a = f.read()dict_hi
- 这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 本文实例讲述了python os模块简单应用。分享给大家供大家参考,具体如下:举例中的目录形式如下所示:In [36]: pwdOut[36
- 本文实例讲述了mysql游标的原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是游标创建游标使用游标首发日期:2018-04-18
- 1 栈的概念栈由一系列对象对象组织的一个集合,这些对象的增加和删除操作都遵循一个“后进先出”(Las
- 数组是一种有序的集合,可随时添加、删除其中的元素book = ['xiao zhu pei qi','xiao ji
- 1 前言上篇文章Python爬虫获取基金列表我们已经讲述了如何从基金网站上获取基金的列表信息。这一骗我们延续上一篇,继续分享如何抓取基金的基
- 最近在学习Python,看到网上用Python将图片转换成字符画便来学习一下题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,
- 本文实例讲述了python实现爬取百度图片的方法。分享给大家供大家参考,具体如下:import jsonimport itertoolsim
- 本文实例讲述了JavaScript观察者模式原理与用法。分享给大家供大家参考,具体如下:观察者模式观察者模式又叫发布订阅模式(Publish
- 进制转换进制之间的转换主要是利用十进制完成的。在进制转换的过程中,可以首先将相关进制转换为十进制的,再进行二次转换达到想要的效果。当然在进制
- ajax编程获取Google的PageRank3(PR值)及所在目录,想给你的站增加Google PR查询的功能吗?如果你不会就看看本文吧,
- vue动态绑定class练习。:class=“{ ‘类名1':条件表达式,‘类名2':条件表达式… }”<templa
- 读取excel数据需要用到xlrd模块,在命令行运行下面命令进行安装pip install xlrd表格内容大致如下,有若干sheet,每个
- **一 tf.concat( ) 函数–合并**In [2]: a = tf.ones([4,35,8]) &n
- 一、判断以下哪些不能作为标识符A、aB、¥aC、_12D、$a@12E、falseF、False答案为:(F、D、B、E)二、输入数,判断这
- 引言事情是这样的,直接开讲面试官:npm run xxx的时候,发生了什么?讲的越详细越好。我(心想,简单啊): 首先,DNS 解析,将域名
- 实际上前面我们就已经用到了图像的绘制,如:io.imshow(img) 这一行代码的实质是利用matplotlib包对图片进行绘
- 数据集数据集为Barcelona某段时间内的气象数据,其中包括温度、湿度以及风速等。本文将利用CNN来对风速进行预测。特征构造对于风速的预测