嘗試實際吸引你的圖像到你的畫布,利用這些功能:
var canvas = document.getElementById("MyCanvas");
var img = new Image();
img.src = 'pathToYourImageHere';
canvas.drawImage(img,0,0); /* 0,0 is x and y from the top left */
現在,當您試圖保存它,它也應該保存您的背景圖像。
編輯: 針對您的評論:
您可以通過使用兩種不同的畫布circument您的分層的問題。一個用於圖像,另一個用於繪圖。然後使用絕對定位將它們疊加在一起。 你可以在這裏閱讀更多:Save many canvas element as image
EDIT2: 但實際上你不應該有一個分層的問題,因爲下面的代碼將首先繪製圖像,然後劃出弧線,以及層次感將是罰款:
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var imageObj = new Image();
imageObj.src = "somePathToAnImage";
context.drawImage(imageObj, 50, 50);
var x = canvas.width/2;
var y = canvas.height/2;
var radius = 75;
var startAngle = 1.1 * Math.PI;
var endAngle = 1.9 * Math.PI;
var counterClockwise = false;
context.beginPath();
context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
context.lineWidth = 15;
// line color
context.strokeStyle = "red";
context.stroke();
儘管分層效果很好,但如果您只想保存圖形,而沒有背景,則可以更好地使用兩個畫布。您可以將兩者都保存到新的畫布中並保存,當您僅使用一張畫布時,您將很難將圖畫與背景分開。
如何繪製畫布背景圖片? –
此前我添加了CSS Background-Image屬性。 –