javascript – 调整HTML5画布元素的大小
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 调整HTML5画布元素的大小,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1500字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 调整HTML5画布元素的大小](/upload/InfoBanner/zyjiaocheng/699/d5666f17ad3e4f138c7b202cc4e8874a.jpg)
我怎样才能实现,以便HTML5 canvas元素可以调整大小?
我想实现这个元素,以便您可以以任何大小缩放它.缩放的事件应该是捕捉边缘并且用户调整元素大小的鼠标.
我已经阅读过如何在canvas元素中的对象上实现这一点.但在我的情况下,我需要在canvas元素本身(< canvas>)上.
解决方法:
设置画布的宽度或高度属性具有清除画布的效果.甚至canvas.width = canvas.width;会导致你丢失画布中的所有内容.有时这是可取的,但在你的情况下,它可能不是.
您可能需要做的是这样的事情
var myCanvas = document.getElementById('myCanvas');
var tempCanvas = document.createElement('canvas');
tempCanvas.width = myCanvas.width;
tempCanvas.height = myCanvas.height;
// save your canvas into temp canvas
tempCanvas.getContext('2d').drawImage(myCanvas, 0, 0);
// resize my canvas as needed, probably in response to mouse events
myCanvas.width = newWidth;
myCanvas.height = newHeight;
// draw temp canvas back into myCanvas, scaled as needed
myCanvas.getContext('2d').drawImage(tempCanvas, 0, 0, tempCanvas.width, tempCanvas.height, 0, 0, myCanvas.width, myCanvas.height);
在大多数浏览器中,缩放将使用双三次缩放算??法完成,从而导致模糊.在某些情况下,如果需要,您可以设置CSS属性以在画布上生成最近邻居,但是浏览器对此的支持现在非常不稳定.您可以手动执行最近邻居比例,因为此问题显示:How to stretch images with no antialiasing
替代CSS方法
另一种方法是使用CSS缩放画布.在Chrome / Safari / IE中你可以这样做:
<canvas style="zoom:200%" />
在Firefox中,您可以使用缩放变换来实现相同的效果:
<canvas style="-moz-transform:scale(2)" />
在许多方面,这种方法更容易,但它带有自己的小问题和浏览器特定的怪癖.
内容总结
以上是互联网集市为您收集整理的javascript – 调整HTML5画布元素的大小全部内容,希望文章能够帮你解决javascript – 调整HTML5画布元素的大小所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。