2011-05-19 6 views
6

Voici ma questionHTML5 TOILE dessiner l'image

Je comprends genre de pas ce qui est le sx et sy est dans la fonction ci-dessous

context.drawImage (Image, sx, sy, sw, sh, dx , dy, dw, dh); Ce que je veux dire vraiment, c'est que si nous changeons les valeurs de sx et sy et fixons dx et dy à une valeur fixe, disons dx = 0 et dy = 0, est-ce qu'il y aura vraiment quelque chose de différent à notre image? sur la toile quand on met sx = 300 et sy = 300 par rapport à sx = 0 et sy = 0? Je veux dire que l'image de destination est toujours à l'emplacement dx = dy = 0 même si nous mettons sx et sy à des valeurs différentes, n'est-ce pas? Je sais que c'est une question stupide mais j'ai juste besoin de connaître la réponse, merci!

Répondre

16

(sx, sy) est le coin supérieur gauche du rectangle source (dans l'image source) qui va dessiner vers la destination. Jetez un oeil sur le schéma ci-dessous:

enter image description here

[Reference]

sx = 0, 0 = sy est différent de sx = 300, 300 = sy parce qu'ils se réfèrent à des rectangles de différentes sources.

+0

quel sera l'effet de différents rectangles source sur l'image? la position de l'image sur la toile va-t-elle changer? –

+0

Si vous avez des rectangles sources différents, vous dessinez différentes parties de l'image source. Si vous souhaitez dessiner l'image source entière, vous devrez commencer à partir de 0,0. – dogbane

+0

oui mais pourquoi avons-nous besoin de placer sx et sy à un endroit différent, n'obtenons-nous pas la même image à l'emplacement dx = 0 et dy = 0? Je veux dire que l'image de destination sera toujours la même, même si sx et sy ont changé, non? –

0
var img = new Image(); 
img.onload = function init_sketch() { 
img.src = 'http://cssdeck.com/uploads/media/items/3/3yiC6Yq.jpg'; 
context.drawImage(img, 0, 0); 
}