Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2012, 06:48
jazhiels
 
Fecha de Ingreso: marzo-2012
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Exclamación Dimensiones de marca de agua PHP y GD (imagecopy)

Hola a todos!!

Bueno llevo muchos dias con este problema y realmente no comprendo que sucede! Tengo una web donde subo imagenes y le he aplicado un script para que haga marcas de agua.. Pero sucede que la marca de agua se redimensiona LOCAMENTE , la marca de agua es obviamente de menores dimensiones que las imagenes en general.

Pero yo quiero que la marca de agua sea del mismo tamaño y en la misma ubicacion para TODAS las imagenes..

Aqui os dejo el trozo de codigo qe utilizo :

watermark.php
- - - - - - - - - - -

Código PHP:
<?php

header
('content-type: image/jpeg');

 
// get de la variable 

$image $_GET['i'];


// localizando marca de agua

$watermark imagecreatefrompng('images/logo.png');  

// dimensiones marca de agua

$watermark_width imagesx($watermark);

$watermark_height imagesy($watermark); 

 
$image_path 'images/' $image;

// creo imagen gif, png o jpg segun corresponda..

$ext substr($image, -3);

if (
strtolower($ext) == "gif") {
if (!
$image imagecreatefromgif($image_path)) {
echo 
"Error opening $image!"; exit;
}
} else if(
strtolower($ext) == "jpg") {
if (!
$image imagecreatefromjpeg($image_path)) {
echo 
"Error opening $image!"; exit;
}
} else if(
strtolower($ext) == "png") {
if (!
$image imagecreatefrompng($image_path)) {
echo 
"Error opening $image!"; exit;
}
} else {
die;
}


//algo salio mal


if ($image === false) {

    return 
false;

}

// dimensiones de imagen

$size getimagesize($image_path);

// localizando la marca de agua

$dest_x $size[0] - $watermark_width 5;

$dest_y $size[1] - $watermark_height 5;

// blending , no se si es necesario realmente pero lo hice x seguir las normas

imagealphablending($imagetrue);

imagealphablending($watermarktrue);

// creando imagen 

imagecopyresized($image$watermark$dest_x$dest_y00$watermark_width,$watermark_height,$watermark_width,$watermark_height);
/* tambien he probado con 
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width,$watermark_height);   PERO NO CAMBIA NADA*/



imagejpeg($image);

// destruyendo imagenes

imagedestroy($image);

imagedestroy($watermark);
?>
<img src="watermark.php?i=foto1.png"/>

El script funciona "correctamente" realiza la marca de agua pero en cada foto la redimensiona a su gusto y esto es desagradable a la vista, lo ideal seria qe la marca de agua sea del mismo tamaño en todas, ya que la pagina esta programada para que todas las imagenes se muestren forzosamente con un determinado ancho aunque sean realmente mas grandes (para conservar la apariencia de la pagina).

Alguien me hecha una mano pleasE?

Muchas Gracias!