canvas实现滚动条缩放图片的demo

这是一个HTML页面,展示了如何利用canvas元素和JavaScript实现图片的滚动条缩放效果。通过获取canvas上下文,设置图片源,并结合range输入框的滑块改变缩放比例,实时调整图片在canvas上的显示大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body style="background: black;">
    <canvas id="myCanvas" style="display: block;border: 10px solid #aaa;margin: 0 auto;">
        你的浏览器不支持canvas
    </canvas>
    <input type="range" id="scale_range" min="0.5" max="3.0" value="1.0" step="0.01" style="display: block;margin: 20px auto;width: 800px;">

<script>
    var myCanvas = document.getElementById("myCanvas");
    var context = myCanvas.getContext("2d");
    var slider = document.getElementById("scale_range");
    var image = new Image();

    window.onload = function (){

        myCanvas.width = 300;
        myCanvas.height = 200;

        var scale = slider.value;

        image.src = '1.jpg';

        image.onload = function () {

           // context.drawImage(image,750,750,200,200,0,0,800,800);
            drawImageByScale(scale);
            slider.onmousemove = function () {
                scale = slider.value;
                drawImageByScale(scale);
            }

        }
function drawImageByScale(scale) {
    var imageWidth = 300*scale;
    var imageHeight = 200*scale;

   // var sx = imageWidth / 2 - myCanvas.width / 2;
    //var sy = imageHeight /2 - myCanvas.height / 2;

    var dx = myCanvas.width / 2 - imageWidth / 2;
    var dy = myCanvas.height /2 - imageHeight / 2;

    context.clearRect(0,0,myCanvas.width,myCanvas.height);
    context.drawImage(image,dx,dy,imageWidth,imageHeight);

   // context.drawImage(image,sx,sy,myCanvas.width,myCanvas.height,0,0,myCanvas.width,myCanvas.height);
}

    }
</script>
</body>
</html>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值