2017-02-27 6 views
0

ich möchte mein Bild befehlen.HTML5 Leinwand Bild anzeigen

Grundsätzlich habe ich diesen Code bereits; Aber wie kann ich mein Bild an den gewünschten Ort verschieben? Wie ein bisschen links, mehr nach rechts, ich meine die Koordinaten ... wo soll ich es hier hinstellen?

if(document.getElementById('fig1').checked){ 
     var canvas = document.getElementById('displaycake_sketch'); 
     var context = canvas.getContext('2d'); 
     var imageObj = new Image(); 

     imageObj.onload = function() { 
     context.drawImage(imageObj, 10, 10); 
     }; 
     imageObj.src = 'http://lh3.googleusercontent.com/-fsFMyfNLNG8/TuZs45U0dZI/AAAAAAAAg38/QIjqug0MnAo/Ic42/barbie6.png'; 

     } 

Vielen Dank im Voraus!

Antwort

2

drawImage() Die Methode der Leinwand hat zwei Koordinaten (x und y). Wenn Sie sich die documentation anschauen, sehen Sie, dass der zweite und dritte Parameter der drawImage() Methode die x-coordinates bzw. y-coordinates des Bildes darstellt. So können Sie das Bild an die gewünschte Position verschieben, indem Sie diese Koordinaten ändern.

context.drawImage(imageObj, 10, 10) 
          ^^

DEMO

var canvas = document.getElementById('displaycake_sketch'); 
 
var context = canvas.getContext('2d'); 
 
var context2 = document.getElementById('displaycake_sketch_2').getContext('2d'); 
 
var imageObj = new Image(); 
 
imageObj.src = 'http://lh3.googleusercontent.com/-fsFMyfNLNG8/TuZs45U0dZI/AAAAAAAAg38/QIjqug0MnAo/Ic42/barbie6.png'; 
 
imageObj.onload = function() { 
 
    context.drawImage(imageObj, 10, 10); 
 
    context2.drawImage(imageObj, 25, 85); 
 
};
#displaycake_sketch, #displaycake_sketch_2 { 
 
    background-color: pink; 
 
}
<canvas width="298" height="397" id="displaycake_sketch"></canvas> 
 
<canvas width="298" height="397" id="displaycake_sketch_2"></canvas>

+0

das ist süß danke, darf ich fragen, was ist das context2.drawImage (imageObj, 25, 85); tut das? – Khyana

+0

@DownCrow ist nur zur Demonstration. Mach dir keine Sorgen. Sie können einfach 'context.drawImage (imageObj, 25, 85)' verwenden – m87

1
context.drawImage(imageObj, 10, 10); 

Dies ist die Linie, die die Koordinaten steuert; der erste 10 ist der x Wert und der zweite 10 ist der y Wert.

+0

P. S. - Ich würde die Quelle vor der Definition dieser Onload-Funktion festlegen. – Feathercrown

+0

oohhh nett danke! – Khyana

+0

Gern geschehen. :) Jederzeit! – Feathercrown

0

man das Bild bewegen kann, X, Y mit .drawImage(image,x,y) Funktion Koordinaten

if(document.getElementById('fig1').checked){ 
     var canvas = document.getElementById('displaycake_sketch'); 
     var context = canvas.getContext('2d'); 
     var imageObj = new Image(); 

     imageObj.onload = function() { 
     context.drawImage(imageObj, 20, 20); 
     }; 
     imageObj.src = 'http://lh3.googleusercontent.com/-fsFMyfNLNG8/TuZs45U0dZI/AAAAAAAAg38/QIjqug0MnAo/Ic42/barbie6.png';  
} 

Referenz: https://www.w3schools.com/graphics/canvas_images.asp