gpt4 book ai didi

javascript - 当 Canvas 内容增大时添加动态垂直和水平滚动条

转载 作者:行者123 更新时间:2023-12-03 12:24:27 24 4
gpt4 key购买 nike

我正在尝试在 Canvas 中添加垂直和水平滚动条。 Canvas 内的图像将像 Microsoft powerpoint 幻灯片或谷歌地图一样放大和缩小,并且还需要一个按钮来恢复图像的原始大小。要查看缩放后的隐藏区域,我需要滚动条(而不是用鼠标向下拖动)。我怎样才能做到这一点。

我尝试过 Canvas Scrollbar not working但不能完全满足我的需要。

最佳答案

这是一个添加滚动条以适应超大内容的示例。

这个想法很简单:

  • 将容器 div 调整为您想要的较小尺寸

  • 在容器div中放置一个超大的 Canvas

  • 在容器div上设置overflow:scroll来获取动态滚动条

示例代码和演示:http://jsfiddle.net/m1erickson/A8u6P/

<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="css/reset.css" /> <!-- reset css -->
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<style>
body{ background-color: ivory; padding:50px; }
canvas{border:1px solid red;}
div{ overflow:scroll; width:300px; height:300px; border:2px solid blue; }
</style>
<script>
$(function(){

var canvas=document.getElementById("canvas");
var ctx=canvas.getContext("2d");

var img=new Image();
img.onload=function(){
ctx.drawImage(img,0,0,img.width,img.height,0,0,canvas.width,canvas.height);
}
img.src="https://dl.dropboxusercontent.com/u/139992952/stackoverflow/canvas%20compositing.png";


}); // end $(function(){});
</script>
</head>
<body>
<div>
<canvas id="canvas" width=800 height=500></canvas>
</div>
</body>
</html>

关于javascript - 当 Canvas 内容增大时添加动态垂直和水平滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24274620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com