3 Star 18 Fork 7

杨得朝/web-test

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
使用Canvas和Input range控件放大缩小图片.html 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
杨得朝 提交于 2020-08-27 15:28 . submit
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>图片缩放</title>
</head>
<body style="background: black;">
<canvas id="canvas" style="display: block;margin: 0 auto;border: 1px solid #aaa;">
你的浏览器不支持canvas。
</canvas>
<input type="range" id="slider" min="0.5" max="3.0" step="0.01" value="1.0" style="display: block;margin: 20px auto;width: 800px;" />
</body>
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var slider = document.getElementById("slider");
var image = new Image(); //定义一个Image对象
window.onload = function() {
canvas.width = 1200;
canvas.height = 800;
image.src = "./images/bg.jpg"; //加载图片
//需要等image load完再把它画到canvas中,不然的话可能有不良后果
image.onload = function() {
drawImageByScale(slider.value);
slider.onmousemove = function() {
drawImageByScale(slider.value);
};
};
/**
* 根据一个缩放比例在画布上画一个图像
* @param {float} scale 缩放比例
*/
function drawImageByScale(scale) {
//根据图片的缩放比例调整图片的长宽
var imageWidth = canvas.width * scale;
var imageHeight = canvas.height * scale;
//画布上的起始点:画布的大小一半减去图像大小的一半。可以为负数,表示在左上角的外面。
var dx = canvas.width / 2 - imageWidth / 2;
var dy = canvas.height / 2 - imageHeight / 2;
//清空画布
context.clearRect(0, 0, canvas.width, canvas.height);
//把image画到canvas中,dx、dy表示起始点坐标
context.drawImage(image, dx, dy, imageWidth, imageHeight);
}
};
</script>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
HTML
1
https://gitee.com/yangdechao_admin/web-test.git
git@gitee.com:yangdechao_admin/web-test.git
yangdechao_admin
web-test
web-test
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385