我想用同一圖像多次繪製到畫布上,換句話說,我想應用代碼,當我單擊畫布區域時會生成圖像當我再次點擊其他地方時,它會產生另一個圖像等等。如何將同一對象的多個圖像繪製到單個畫布上
<canvas></canvas>
但是,當試圖再次繪製它取代了之前繪製的圖像,然後繪製新的圖像。而不是將以前繪製的圖像保留在畫布上。
function drawAll(){
context.drawImage(imageObj, 0, 0, imageObj.width, imageObj.height,0, 0, 700, 618);
if(coordinates.length > 0){
coordinates.map((coord, key) =>{
context.beginPath();
context.moveTo(coord.startX, coord.startY);
context.lineTo(coord.toX,coord.toY);
context.strokeStyle="rgb(226, 104, 36)";
context.lineWidth=2;
context.stroke();
});
}
if(entry){
context.drawImage(imageObjBall, entry.posX-8, entry.posY-8, 16, 16);
}
}
編輯:嘿,不好意思忘記插入此位到這裏
function handleClick(e){
if(!isDrawing && prize_id != null){
var pos = getMousePos(canvas, e);
mouseX = pos.x;
mouseY = pos.y;
$x_id=`#cor_x_${prize_id}`;
$y_id=`#cor_y_${prize_id}`;
context.clearRect(0, 0, 700, 618);
context.drawImage(imageObjBall, mouseX-8, mouseY-8, 16, 16);
entry={posX:mouseX,posY:mouseY};
$($x_id).text(mouseX);
$($y_id).text(mouseY);
drawAll();
}
}
注意:這是在laravel 5,有這個之外更多的代碼,但我 感覺這是必要的剪斷需要你能夠幫助 我,但如果您需要更多,請讓我編輯一些更多的代碼到這個 後
你在簡短的問題:「如何添加其他圖片到現有的畫布對象?」吧? – reporter
是的,但同一個對象,而不是創建一個全新的。所以多「imageObjBall」 –
我剛剛編輯帖子,因爲我忘了插入一些重要的代碼,以及它的功能如何。 –