您的位置:首页 > Web前端 > HTML5

html5 canvas图像-图像的缩放

2014-05-15 15:29 211 查看
当用户选中复选框之后,应用程序则会重新绘制该图,将其放大,以符合canvas的尺寸。



<html>
<head>
<title>Scaling Images</title>

<style>
body {
background: rgba(100, 145, 250, 0.3);
}

#canvas {
margin-left: 20px;
margin-right: 0;
margin-bottom: 20px;
border: thin solid #aaaaaa;
cursor: crosshair;
}

#controls {
margin: 15px;
padding: 0;
}
</style>
</head>

<body>
<div id='controls'>
<input id='scaleCheckbox' type='checkbox'/>
Scale image to canvas
</div>

<canvas id='canvas' width='900' height='620'>
Canvas not supported
</canvas>
<script src='example.js'></script>
</body>
</html>


var canvas = document.getElementById('canvas'),
context = canvas.getContext('2d'),
image = new Image(),
scaleCheckbox = document.getElementById('scaleCheckbox');

// Functions.....................................................

function drawImage() {
context.clearRect(0,0,canvas.width,canvas.height);

if (scaleCheckbox.checked) {
context.drawImage(image, 0, 0, canvas.width, canvas.height);
}
else {
context.drawImage(image, 0, 0);
}
context.restore();
}

// Event Handlers................................................

scaleCheckbox.onchange = function(e) {
drawImage();
}

// Initialization................................................

image.src = '../../shared/images/waterfall.png';
image.onload = function(e) {
drawImage();
};


如果用户选中了复选框,那么该函数就会再绘制时将图像缩放至于canvas相同的大小。否则,它就直接绘制未经缩放的对象。在这种情况下,函数都会把图像绘制在canvas的(0,0)坐标处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: