0
我正在使用JS裁剪库。裁剪完成后,裁剪器会给我一张画布,以便我可以获取数据并将裁剪后的图片上传到我的服务器。画布与PNG + alpha通道JPEG数据Url
目前它可以正常工作,但在将画布转换为PNG数据网址时,因为我希望我的输出图片非常大(这是一个横幅),所以上传实际上需要大量时间,所以我更喜欢使用JPEG这似乎压缩更好的大图片。但JPEG没有alpha通道,所以它似乎必须用背景替换它(我选择我的颜色:白色)。
因此,有人可以告诉我怎么到画布转换为传输数据的URL在JPEG当原始图像是这样的:
这是PNG警告图标的裁剪图片。背景是阿尔法,它有一些黑色的图纸。
我已经做了一些尝试,但似乎当我在画布上绘制矩形时,它会绘制在我的初始图片上。我不能在添加图片之前绘制矩形,因为裁剪库为我提供了已经构建的画布。
canvasToDataUrl(cropper) {
const ctx = canvas.getContext('2d');
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, canvas.width, canvas.height);
return canvas.toDataURL("image/jpeg",1);
},
当我这样做时,我只在最后看到一张白色的图片。
如果我不绘制一个矩形,我只是尝试转换为JPEG,然后我得到一个黑色的图片。