canvas控制图片缩放
2015-08-25 15:22
447 查看
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="format-detection" content="telephone=no, email=no, adress=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
</head>
<body>
<canvas id="canvas" style="border:1px solid blue;">
您的浏览器不支持canvas
</canvas></br>
<input type="range" id="slider" value="1" max="3" min="0.5" step="0.01" style="width:598px;" />
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var image = new Image();
var slider = document.getElementById("slider");
window.onload = function() {
canvas.width = 598;
canvas.height = 397;
image.src = "picture_01.jpg";
image.onload = function(){
drawImageByScale();
slider.onmousemove = function(){
var scale = slider.value;
drawImageByScale(scale);
};
}
};
function drawImageByScale(scale){
var scale = scale || 1;
var imageWidth = 598 * scale;
var imageHeight = 397 * scale;
var dx = (canvas.width - imageWidth)/2;
var dy = (canvas.height - imageHeight)/2;
context.clearRect(0,0,canvas.width,canvas.height);
context.drawImage(image,dx,dy,imageWidth,imageHeight);
}
</script>
</body>
</html>
drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
参数分别表示:图片对象,从图片的X轴处,从图片的Y轴处,裁剪的宽度,裁剪的高度,从canvas的X轴处,从canvas的Y轴处,绘制的宽度,绘制的高度
如果省略第2-5个参数,默认不裁剪,按照图片实际大小绘制
注意:drawImage()函数务必写在image.onload = function(){}中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="format-detection" content="telephone=no, email=no, adress=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
</head>
<body>
<canvas id="canvas" style="border:1px solid blue;">
您的浏览器不支持canvas
</canvas></br>
<input type="range" id="slider" value="1" max="3" min="0.5" step="0.01" style="width:598px;" />
<script>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var image = new Image();
var slider = document.getElementById("slider");
window.onload = function() {
canvas.width = 598;
canvas.height = 397;
image.src = "picture_01.jpg";
image.onload = function(){
drawImageByScale();
slider.onmousemove = function(){
var scale = slider.value;
drawImageByScale(scale);
};
}
};
function drawImageByScale(scale){
var scale = scale || 1;
var imageWidth = 598 * scale;
var imageHeight = 397 * scale;
var dx = (canvas.width - imageWidth)/2;
var dy = (canvas.height - imageHeight)/2;
context.clearRect(0,0,canvas.width,canvas.height);
context.drawImage(image,dx,dy,imageWidth,imageHeight);
}
</script>
</body>
</html>
drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
参数分别表示:图片对象,从图片的X轴处,从图片的Y轴处,裁剪的宽度,裁剪的高度,从canvas的X轴处,从canvas的Y轴处,绘制的宽度,绘制的高度
如果省略第2-5个参数,默认不裁剪,按照图片实际大小绘制
注意:drawImage()函数务必写在image.onload = function(){}中
相关文章推荐
- fuel自动安装openstack文档
- IOS 学习 TableView
- linux-impdp的使用
- HiHo1038 ------01背包
- android 学习笔记 内容提供器ContentResolver
- VBA中事件的应用
- nginx 代理缓存配置
- HDU - 1232 畅通工程(简单并查集)
- Window7 64位旗舰版 安装Oracle 11gR2 安装图解
- 使用spring-data-redis操作Redis的Sentinel
- 二叉树平衡检查
- Coursera机器学习课程笔记(1) Supervised Learning and Unsupervised Learning
- 【工具】 原版完美激活 Flash builder 4.7 【非破解激活】
- 弹幕视频软件爆点TV弹幕视频常见问题集锦
- 关于listview item 子控件焦点的问题。
- Linux下硬盘设备命名规则
- Android 给控件自定义Shape背景
- 网络安全技术(二)
- error RC1015: cannot open include file 'atlres.h'问题解决
- 地理编码的实现