/**
* 在canvas上画img
* @param ctx
* @param image
* @param x
* @param y
* @param alpha
*/
function drawImage(ctx, image, x, y, alpha) {
// 绘制图片
ctx.drawImage(image, x, y);
ctx.stroke();
// 获取从x、y开始,宽为image.width、高为image.height的图片数据
// 也就是获取绘制的图片数据
let imgData = ctx.getImageData(x, y, image.width, image.height);
for (let i = 0, len = imgData.data.length; i < len; i += 4) {
// 改变每个像素的透明度
imgData.data[i + 3] = imgData.data[i + 3] * alpha;
}
// 将获取的图片数据放到指定的位置
ctx.putImageData(imgData, x, y);
}
/**
* 下载img
* @param url
* @param name
*/
function downLoadCanvasImg(url, name) {
let oA = document.createElement("a");
oA.download = name + ".png";// 设置下载的文件名,默认是'下载'
oA.href = url;
document.body.appendChild(oA);
oA.click();
oA.remove(); //下载之后把创建的元素删除
}
/**
* canvas 绘制虚线
* @param ctx
* @param moveTo
* @param lineTo
* @param pattern
*/
function drawDashedLine(ctx, moveTo, lineTo, pattern) {
ctx.beginPath();
ctx.setLineDash(pattern);
ctx.moveTo(moveTo.x, moveTo.y);
ctx.lineTo(lineTo.x, lineTo.y);
ctx.stroke();
ctx.closePath();
ctx.setLineDash([]);
}
canvas 绘制图片 下载图片 dashLine
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Html5新增的canvas是个强大的功能, 估计大家平时都会用到,只是频率不高,偶尔用它合成图片,但是如果不进行...
- 1 前言 1.1 业务场景 图片储存在后台中,根据图片的地址,在vue页面中,查看图片,并根据坐标标注指定区域。 ...
- 这不是一个完整的插件,只是做了一些方法的记录..完整的裁剪图片太复杂了
- 写在前面业务需要在PC+wap页面上动态生成一张海报图片,于是便有了这个基于React绘制海报的组件 (҂‾ ▵‾...