canvas
通过canvas 导出指定左边图片
const imageObj = new Image();
imageObj.onload = function() {
// 解决跨域 Canvas 污染问题
imageObj.setAttribute("crossOrigin", "anonymous");
let canvas = document.createElement("canvas");
canvas.width = imageObj.width;
canvas.height = imageObj.height;
let context: any = canvas.getContext("2d");
// image:要绘制的图片,支持很多形式,比如CSSImageValue,HTMLImageElement,SVGImageElement,HTMLVideoElement,HTMLCanvasElement,ImageBitmap 或者OffscreenCanvas
// dx:d代表目的(destination),就是canvas上起点的x轴
// dy:canvas上起点的y轴
// dWidth:canvas上绘制的宽度
// dHeight:canvas上绘制的高度
// sx:s代表原来的(source),就是原始图片的起点的x轴
// sy:原始图片的起点的y轴
// sWidth:截取的原始图片的宽度
// sHeight:截取的原始图片的高度
context.drawImage(imageObj, 308, 349, 100, 100, 308, 349, 100, 100);
let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据
var link = document.createElement("a");
link.download = "stage.png";
link.href = url;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
};
imageObj.src = dataURL;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
去除html标签 只保留文本
function delHtmlTag(str){
return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
}
1
2
3
2
3