2011-05-19 8 views
6

Aquí está mi preguntaHTML5 imagen Drenaje LONA

Yo como que no entiendo lo que es la sx y sy es en función a continuación

context.drawImage (Imagen, sx, sy, sw, sh, dx , dy, dw, dh);

lo que realmente quiero decir es que si cambiamos los valores de sx y sy y establecemos nuestro dx y dy en un valor fijo, digamos dx = 0 y dy = 0, realmente vamos a hacer algo diferente a nuestra imagen en el lienzo cuando establecemos sx = 300 y sy = 300 en comparación con sx = 0 y sy = 0? Me refiero a que la imagen de destino todavía está en la ubicación dx = dy = 0 incluso establecemos sx y sy en diferentes valores, ¿no? Sé que es una pregunta estúpida, pero solo necesito saber la respuesta, ¡gracias!

Respuesta

16

(sx, sy) es la esquina superior izquierda del rectángulo de origen (dentro de la imagen de origen) que se dibujará en el destino. Echar un vistazo al siguiente diagrama:

enter image description here

[Reference]

sx = 0, sy = 0 es diferente de sx = 300, sy = 300, ya que se refieren a diferentes rectángulos de origen.

+0

¿Cuál será el efecto de diferentes rectángulos fuente en la imagen? ¿Cambiará la posición de la imagen en el lienzo? –

+0

Si tiene diferentes rectángulos de origen, dibujará diferentes partes de la imagen de origen. Si desea dibujar toda la imagen de origen, deberá comenzar desde 0,0. – dogbane

+0

sí, pero ¿por qué tenemos que colocar sx y sy en una ubicación diferente, no recibimos la misma imagen en el arreglo dx = 0 y dy = 0 ubicación? me refiero a que la imagen de destino seguirá siendo la misma aunque sx y sy hayan cambiado, ¿verdad? –

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); 
}