Canvas 在通过toDataURL另存为文件之前,是否可以修剪画布图像的某些部分?
我正在将画布保存为网页中的图像。我使用了Canvas 在通过toDataURL另存为文件之前,是否可以修剪画布图像的某些部分?,canvas,html5-canvas,Canvas,Html5 Canvas,我正在将画布保存为网页中的图像。我使用了html2canvas来获得画布(但我认为这并不重要) 除了图像的布局,一切都很完美 我需要像这样修剪图像: canvas.trim(0,15,canvas.width-30,canvas.height); 有什么简单的方法可以做到这一点吗?例如,类似这样的事情: canvas.trim(0,15,canvas.width-30,canvas.height); 顺便说一句,我想用纯JavaScript实现这一点 感谢您提供的各种提示。是的,您可以做到
html2canvas
来获得画布(但我认为这并不重要)
除了图像的布局,一切都很完美
我需要像这样修剪图像:
canvas.trim(0,15,canvas.width-30,canvas.height);
有什么简单的方法可以做到这一点吗?例如,类似这样的事情:
canvas.trim(0,15,canvas.width-30,canvas.height);
顺便说一句,我想用纯JavaScript实现这一点
感谢您提供的各种提示。是的,您可以做到这一点,以下是我的做法:
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<img id="img" src="https://i.ytimg.com/vi/LRVsxe5OJVY/maxresdefault.jpg">
<script>
function saveMask() {
var element = document.getElementById('img');
html2canvas(element, {allowTaint: true}).then(h2c => {
var canvas = document.createElement("canvas");
canvas.height = 170;
canvas.width = element.width - 300;
var ctx = canvas.getContext('2d')
ctx.drawImage(h2c, -150, 0);
document.body.appendChild(canvas);
element.parentNode.removeChild(element);
});
}
setTimeout(saveMask, 2000);
</script>
函数saveMask(){
var元素=document.getElementById('img');
html2canvas(元素,{allowTaint:true})。然后(h2c=>{
var canvas=document.createElement(“canvas”);
高度=170;
canvas.width=element.width-300;
var ctx=canvas.getContext('2d')
ctx.drawImage(h2c,-150,0);
document.body.appendChild(画布);
element.parentNode.removeChild(元素);
});
}
setTimeout(saveMask,2000);
向我们展示您的代码……代码非常简单,只是一个标准的html2canvas代码。