이번 글은 캔버스가 슬라이더에 따라 어떻게 사진 확대/축소 효과를 구현할 수 있는지에 대한 예시를 주로 소개하고 있습니다. 아래 에디터와 함께 살펴보도록 하겠습니다. >
렌더링:사진(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>
슬라이더에 따른 이미지 확대 및 축소 효과를 캔버스에 구현하기 위한 관련 기사를 더 보려면 다음을 참고하세요. PHP 중국어 웹사이트!