Foros del Web » Programando para Internet » Javascript »

Trabajando sobre canvas

Estas en el tema de Trabajando sobre canvas en el foro de Javascript en Foros del Web. Hola a todos Tengo una duda sobre un proyecto que empece, estoy modificando un collage en canvas que baje de internet ([URL="http://radikalfx.com/2011/12/12/text-addition-for-image-collage-with-html5-and-canvas/"]http://radikalfx.com/2011/12/12/text-addition-for-image-collage-with-html5-and-canvas/[/URL] ) he estado ...
  #1 (permalink)  
Antiguo 19/08/2013, 09:37
Avatar de dany_6037  
Fecha de Ingreso: mayo-2013
Ubicación: Tierra de nod
Mensajes: 50
Antigüedad: 10 años, 11 meses
Puntos: 1
Trabajando sobre canvas

Hola a todos

Tengo una duda sobre un proyecto que empece, estoy modificando un collage en canvas que baje de internet ([URL="http://radikalfx.com/2011/12/12/text-addition-for-image-collage-with-html5-and-canvas/"]http://radikalfx.com/2011/12/12/text-addition-for-image-collage-with-html5-and-canvas/[/URL] ) he estado moviendo muchas cosas hasta dejarlo de esta manera:


al momento de querer modificar el tamaño y girar la imagen quiero que salga con un marco algo asi:
[URL="http://imageshack.us/a/img443/4893/8uzf.jpg"]http://imageshack.us/a/img443/4893/8uzf.jpg[/URL]

Hasta ahorita he podido hacer esto:
[URL="http://imageshack.us/a/img716/9526/84o9.jpg"]http://imageshack.us/a/img716/9526/84o9.jpg[/URL]

me faltan las lineas pues no puedo hacer que se agusten al tamaño de la imagen cuando este cambia.
Como se muestra en la imagen siguiente la linea se pasa o se ve corta como se modifica la imagen:


el codigo es demasiado largo pero con este pequeño pedazo de codigo creo que se ha de entender:
Código:
function drawMarker(layer) {
		redrawCanvas();
		
		context.save();
		context.lineWidth=1;
		context.strokeStyle = "#fff";
		context.globalAlpha = 0.75;
		
		context.translate(layer.offsetX + (layer.width / 2), layer.offsetY + (layer.height / 2));
		context.rotate(layer.getAngle());
		
		context.strokeRect(0 - (layer.width / 2), 0 - (layer.height / 2), 
			layer.width, layer.height);
/***********************************************Aqui se dibujan los nodos a la imagen*********************************************************************/		
		if (layer instanceof Layer) {         /////Primer nodo (Derecha inferior)
			context.drawImage(scaleImg, 
					(layer.width / 2) - scaleImg.width,					
					(layer.height / 2) - scaleImg.height);
					
		}
		if (layer instanceof Layer) {          /////2do nodo (izquierda inferior)
			context.drawImage(scaleImg, 
					(layer.width /-2),					
					(layer.height / 2) - scaleImg.height);					
		}
		if (layer instanceof Layer) {         /////3ro nodo (Izquierda arriba)
			context.drawImage(scaleImg, 
					(layer.width / -2),						
					(layer.height / -2));					
		}
		if (layer instanceof Layer) {         /////4to nodo (Derecha medio)
			context.drawImage(scaleImg, 
					(layer.width / 2) - scaleImg.width,					
					(layer.height / 20) - scaleImg.height);					
		}
		if (layer instanceof Layer) {         /////5to nodo (abajo medio)
			context.drawImage(scaleImg, 
					(layer.width / 20) - scaleImg.width,					
					(layer.height / 2) - scaleImg.height);					
		}
		if (layer instanceof Layer) {         /////6to nodo (arriba medio)
			context.drawImage(scaleImg, 
					(layer.width / -20),					
					(layer.height /-2));					
		}
		if (layer instanceof Layer) {          /////7mo nodo (izquierda medio)
			context.drawImage(scaleImg, 
					(layer.width /-2),					
					(layer.height / 20) - scaleImg.height);					
		}
/***********************************************Aqui se dibujan los nodos a la imagen*********************************************************************/	

/***********************************************Aqui se dibuja el nodo de girar*********************************************************************/					
		context.drawImage(rotateImg, 
				(layer.width / 2) - rotateImg.width,
				0 - (layer.height / 2));
/***********************************************Aqui se dibuja el nodo de girar*********************************************************************/

/***********************************************Aqui se dibuja la linea********************************************************************/					
		context.drawImage(linea, 
				0-(layer.width / 2),
				(layer.height / 2)- linea.height);
/**********************************************Aqui se dibuja la linea*********************************************************************/			
		
		context.restore();
	}
en los comentarios donde se dibuja la linea solo necesitaria alguna instruccion para que la imagen de la linea se ajustara a la simpre cambiante tamaño de la imagen, lamentablemente estoy aprendiendo javascript y medio entiendo el codigo pero en este caso no se que instruciones podria usar.

No se si me explique o le di muchas vueltas al problema, lo que necesito es una instruccion que me aguste esa linea al cambiante tamaño de la imagen obviamente tendre que poner las demas lineas pero creo que sacando una salen las demas.

De antemano gracias

Etiquetas: canvas, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.