Javascript 如何裁剪canvas.toDataURL
你好,Javascript 如何裁剪canvas.toDataURL,javascript,canvas,Javascript,Canvas,你好, 在将画布发送到服务器上之前,我想裁剪画布上的canvas.toDataURL(),但我没有找到方法:( 这是我的代码: TakePhoto: function() { var myCanvas = document.getElementById('game'); var dataURL = myCanvas.toDataURL(); // crop the dataURL } 那么,如何裁剪数据URL? 有人能帮我吗?提前谢谢使用
在将画布发送到服务器上之前,我想裁剪画布上的
canvas.toDataURL()
,但我没有找到方法:(这是我的代码:
TakePhoto: function() {
var myCanvas = document.getElementById('game');
var dataURL = myCanvas.toDataURL();
// crop the dataURL
}
那么,如何裁剪数据URL?有人能帮我吗?
提前谢谢使用
toDataURL
方法将始终捕获整个画布
因此,要捕获裁剪部分,您必须创建一个临时画布,并将其大小调整为与裁剪相同的大小
然后使用扩展的drawImage
裁剪原始图像并将其绘制到临时画布上
示例代码和演示:
TakePhoto: function() {
var myCanvas = document.getElementById('game');
var dataURL = myCanvas.toDataURL();
// crop the dataURL
}
var img=newimage();
img.crossOrigin='anonymous';
img.onload=启动;
img.src=”https://i.stack.imgur.com/EUBBt.png";
函数start(){
var crapedurl=craplusExport(img,190127,93125);
var cropImg=新图像();
cropImg.src=cropedurl;
文件.正文.附件(cropImg);
}
功能输出(img、cropX、cropY、cropWidth、cropHeight){
//创建一个临时画布,其大小为裁剪后的大小
var canvas1=document.createElement('canvas');
var ctx1=canvas1.getContext('2d');
画布1.宽度=宽度;
画布1.高度=微光;
//使用drawImage的扩展from来绘制
//临时画布上的裁剪区域
ctx1.绘图图像(img、cropX、cropY、cropWidth、cropHeight、0,0、cropWidth、cropHeight);
//返回临时画布的.toDataURL
return(canvas1.toDataURL());
}
body{背景色:象牙;}
img{边框:1px纯红色;边距:0自动;}
原始图像
从裁剪创建裁剪图像。toDataURL
裁剪的输出具体是什么?谢谢!请注意:当使用数据url(而不是从url加载)填充图像时,您仍然需要使用onload处理程序,因为它不会将图像同步绘制到画布上,如所示