Hola RonRuby, gracias por tu ayuda, la verdad es que las funciones de imagenes llevan muchos parametros y no estoy seguro cuales son lo que tengo que modificar
te muestro lo que tengo hecho
Código PHP:
Ver original/*
* CREO LA IMAGEN CON MARCA DE AGUA A PARTIR DE LA NUEVA IMAGEN EL PRODUCTO
*/
<?php
$destino= $Product->getId()."_water_mark.png"; // donde se guarda la copia con marca de agua
$image= $image->getImageFileName(); // a esta imagen le agrego la marca de agua
$watermark = "/water_mark/marca_original.png";
echo "Error opening GIF $image!";
}
echo "Error opening JPG $image!";
}
echo "Error opening PNG $image!";
}
} else { echo ' die'; die; } 'filename' => $watermark,
'position' => array(0,0), )
);
$my_water_mark=watermark($image, $batch, $destino , 50); //will add both images in bath on top of picture, preserving transparency
?>
luego la funcion
watermark
Código PHP:
Ver original.
<?php
function watermark($sourcefile, $watermarkfiles, $destination, $quality=90) {
$ispng = $ih[2] == 3;
if ($ispng)
else
/*
* FIXME: CREATE GIF
*/
$sourcefile_width=imageSX($sourcefile_id); $sourcefile_height=imageSY($sourcefile_id); foreach ($watermarkfiles as $x => $watermarkfile) {
$watermarkfile_width=imageSX($watermarkfile_id); $watermarkfile_height=imageSY($watermarkfile_id);
// resample?
if (isset($watermarkfile['resample'])) { imagecopyresampled($im_dest, $watermarkfile_id, 0, 0, 0, 0, $watermarkfile['resample'][0], $watermarkfile['resample'][1], $watermarkfile_width, $watermarkfile_height); $watermarkfile_id = $im_dest;
$watermarkfile_width = $watermarkfile['resample'][0];
$watermarkfile_height = $watermarkfile['resample'][1];
}
// position ? if none given, centered
if (!isset($watermarkfile['position'])){ list($dest_x,$dest_y) = $watermarkfile['position']; }else {
$dest_x = ( $sourcefile_width / 2 ) - ( $watermarkfile_width / 2 ); // centered
$dest_y = ( $sourcefile_height / 2 ) - ( $watermarkfile_height / 2 ); // centered
}
echo $sourcefile_id.' | '.$watermarkfile_id.' | '.$dest_x.' | '.$dest_y.' | 0 | 0 |'.$watermarkfile_width.' | '.$watermarkfile_height;
imagecopy($sourcefile_id, $watermarkfile_id, $dest_x, $dest_y, 0, 0, $watermarkfile_width, $watermarkfile_height); }
if ($ispng){
}else{
imagejpeg($sourcefile_id,$destination,$quality); }
return $destination;
}
?>
esto funciona perfecto: me crea una imagen con la marca apartir de una imagen subida por el usuario y y una imagen con marca de agua fija. La marca de agua aparece centrada pero no ocupa 100% x 100% del alto y ancho.