Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2013, 02:02
beubuntumyfriend
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Marca de agua

Buenas,

Soy nuevo en el foro ( o eso creo, porque recuerdo que tenia una cuenta... pero bueno ).

Estoy teniendo problemas con el tema de las marcas de agua, actualmente tengo esta función:
Código:
function watermark_image ($source_file, $source_watermark, $destination_file) {
	//$SourceFile is source of the image file to be watermarked
	//$WaterMarkText is the text of the watermark
	//$DestinationFile is the destination location where the watermarked images will be placed
	 
	//Delete if destinaton file already exists
	//@unlink($destination_file);
	 
	//This is the vertical center of the image
	list($width, $height) = getimagesize($source_file);
	
	$image = imagecreatefromjpeg($source_file);
	
	$watermark = imagecreatefrompng( $source_watermark );
	list($src_width, $src_height) = getimagesize($source_watermark);
	$top = ($height/2)-($src_height/2);
	$left = ($width/2)-($src_width/2);
	 
	imagecopyresampled($image, $watermark, $left, $top, 0, 0, $src_width, $src_height, $src_width, $src_height);
	 
	if ($destination_file<>'') {
	 
		imagejpeg($image, $destination_file, 100);
	 
	} else {
	 
		header('Content-Type: image/jpeg');
		imagejpeg($image, null, 100);
	 
	};
	 
	imagedestroy($image);
	imagedestroy($watermark);
}
Esta función lo que hace es a partir del centro de la imagen sobre la que se quiere acoplar la marca de agua, se centra ésta última. El problema es que cuando se inserta una imagen muy pequeña la marca de agua queda muy estirada...

A lo que quiero llegar es que he visto en sitios como Airbnb que tienen las marcas de agua siempre escaladas a la imagen, de forma que si la imagen es más pequeña que la marca de agua, ésta se escala a la imagen... no sé si me explico.

El tema es que tengo un lío en la cabeza porque no encuentro la forma de hacerlo.

Gracias