Duda funcion PhP

Xtigma

Bueno Estoy empezando a aprender php y queria hacer la funcion tipica de la marca de agua en una imagen.
Total la funcion funciona(ejemplo:http://www.jotapeges.com/show.php?i=182530) pero le tenia que estar cambiando la mierda de la funcion de createimagefromXXX cada vez
por eso cree el switch este pero por mas que pruebo la funcion exif_imagetype no me devuelve nada.
e probao tambien e probado image_type_to_extension() pero tampoco es que me devuelve nada.

He comprobado y tengo la libreria gd2 activada, ahora por que no me devuelven nada las funciones:
-image_type_to_extension() supongo que al ser nueva en PHP5 (sin documentar) a lo mejor no funciona bien
-exif_imagetype copiado el ejemplo LITERAL de la ayuda no devuelve nada y ya es una funcion del 4.3 que esta documentada y todo

Pregunto:
-¿Tengo algo mal y no me doy cuenta?
-Hay alguna funcion para saber el formato de la imagen
-¿imagecreatefromxpm sive para todos los demas formatos que no son JPG, GIF, PNG?

Gracias

Adjunto funcion:

Function marca_de_agua($foto_original,$marca_agua) {

switch (exif_imagetype($foto_original)) {
case IMAGETYPE_GIF:
$marca=imagecreatefromgif($foto_original);
break;
case IMAGETYPE_JPEG:
$marca=imagecreatefromjpeg($foto_original);
break;
case IMAGETYPE_PNG:
$marca=imagecreatefrompng($foto_original);
break;
case IMAGETYPE_SWF:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_PSD:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_BMP:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_TIFF_II:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_TIFF_MM:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_JPC:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_JP2:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_JPX:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_JB2:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_SWC:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_IFF:
$marca=imagecreatefromxpm($foto_original);
break;
case IMAGETYPE_WBMP:
$marca=imagecreatefromwbmp($foto_original);
break;
case IMAGETYPE_XBM:
$marca=imagecreatefromxbm($foto_original);
break;
}

switch (exif_imagetype($marca_agua)) {

  case IMAGETYPE_GIF:
  	  $marca=imagecreatefromgif($marca_agua);
      break;
  case IMAGETYPE_JPEG:
  	  $marca=imagecreatefromjpeg($marca_agua);
      break;
  case IMAGETYPE_PNG:
  	  $marca=imagecreatefrompng($marca_agua);
      break;
  case IMAGETYPE_SWF:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_PSD:
 	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_BMP:
	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_TIFF_II:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_TIFF_MM:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_JPC:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_JP2:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_JPX:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_JB2:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_SWC:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_IFF:
  	  $marca=imagecreatefromxpm($marca_aguna);
      break;
  case IMAGETYPE_WBMP:
  	  $marca=imagecreatefromwbmp($marca_aguna);
      break;
  case IMAGETYPE_XBM:
  	  $marca=imagecreatefromxbm($marca_aguna);
      break;

}

$origenancho=imagesx($original);
$origenalto=imagesy($original);

$marcancho=imagesx($marca);
$marcalto=imagesy($marca);

$destx=($origenancho-$marcancho)1.02;
$desty=($origenalto-$marcalto)
1.08;
$white=imagecolorexact($marca,0,0,0);
imagecolortransparent($marca,$white);
imagecopymerge($original,$marca,$destx,$desty,0,0,$marcancho,$marcalto,50);

imagejpeg($original);
imagedestroy($original);
imagedestroy($marca);
}

marca_de_agua('prueba.jpg','marca_s.png');

LOc0

¿Estás seguro que el PHP de tu hosting fue compilado con -enable-exif ?

Salu2 ;)

Xtigma

Oks ya lo mirare.
Gracias

Usuarios habituales

  • Xtigma
  • LOc0