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,然後我得到一個黑色的圖片。