我正在開發一個應用程序,允許用戶裁剪圖像併爲圖像選擇邊框。 我想知道的是,如果它有可能通過JavaScript將帶有邊框樣式的圖像轉換爲base64?將圖像轉換爲Base64包括其邊框圖像樣式
var img = new Image();
img.src = 'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png';
var pat = canvasContext.createPattern(img,"repeat");
canvasContext.strokeStyle = pat;
canvasContext.lineWidth = 5;
canvasContext.strokeRect(-(this.rotatedOffset.x * exportZoom), -(this.rotatedOffset.y * exportZoom), canvas.width, canvas.height);
上面的代碼只是在畫布上添加了一個黑色邊框。
現在,我想要做的是添加一個圖像/圖案作爲邊框到畫布。
更新:根據@ K3N的回答,我創建了裁剪圖像的新畫布,並增加了圖案的邊框。爲我的需求工作。
絕對有可能。您可以將邊框和圖像繪製到畫布上(您可能需要創建具有考慮邊框尺寸的畫布上下文),然後使用類似方法將其導出到Cropit。 – Dan
感謝您的回覆。我的主要問題是需要添加一個CSS邊框圖像到裁剪後的圖像並導出到base64。我可以在畫布上添加一個簡單的邊框,但是我想添加更復雜的圖案作爲邊框。我將如何實現這一目標?我更新了我的問題。 – Ricky
在CSS中這樣做沒有意義。你將不得不模仿CSS樣式(因爲你不能將位圖直接保存在DOM元素或樣式之外),並且仍然將其傳輸到畫布(包含所有包含的挑戰),因此只需將邊框直接添加到畫布而不需要圍繞使用CSS的大圓圈。 – K3N