Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2018, 12:56
alfa18
 
Fecha de Ingreso: diciembre-2007
Mensajes: 299
Antigüedad: 16 años, 4 meses
Puntos: 2
Pregunta problemas con libreria grafica GD

hola foreros,

estoy trabajando con imagenes y la libreria GD pero no lo me muestra la imagen redimensionada, llevo un par de dias repasando el codigo pero no veo donde esta el error ¿me echais una mano?

Aqui os dejo el codigo principal y la clase que he creado para reducir la imagen con GD:
Código PHP:
Ver original
  1. <body>
  2. <form action="imagen.php" method="POST" enctype="multipart/form-data">
  3. Elige un archivo de imagen jpg: <input type="file"
  4. name="fichero">
  5. <input type="submit" name="Enviar" value="Enviar">
  6. </form>
  7. <?php
  8. if (isset($_FILES["fichero"] ) ) {
  9. echo "Imagen Original:<br>";
  10. $fotografia = $_FILES['fichero']['tmp_name'];
  11. copy($fotografia,$_FILES['fichero'] ['name']);
  12.  
  13. $foto_copia = $_FILES["fichero"]["name"] . "&modo=original";
  14. $url = "claseIMG.php?fotografia=$foto_copia";
  15. echo "<img src=\"$url\">";
  16.  
  17. echo "Imagen Miniatura:<br>" ;
  18. $foto_copia = $_FILES["fichero"]["name"] . "&modo=miniatura";
  19. $url = "claseIMG.php?fotografia=$foto_copia";
  20. echo "<img src=\"$url\">";
  21. }
  22. ?>
  23. </body>

Y esta es la clase que utilizo para trabajar con las imagenes:
Código PHP:
Ver original
  1. class imagen {
  2. private $archivo;
  3. private $imagen;
  4. private $miniatura;
  5. private $dimensiones;
  6. function _construct($archivo) {
  7.     $this->archivo = $archivo;
  8.     $this->imagen = imagecreatefromjpeg($archivo);
  9.     $this->dimensiones = getimagesize($archivo);
  10. }
  11. public function imagen_original() {
  12.     header("Content-Type: image/jpeg");
  13.     imagejpeg($this->imagen);
  14. }
  15. public function imagen_miniatura() {
  16.     $dimensionx = $this->dimensiones[0] /2;
  17.     $dimensiony = $this->dimensiones[1] /2;
  18.     $this->miniatura = imagecreatetruecolor($dimensionx, $dimensiony);
  19.     imagecopyresampled($this->miniatura, $this->imagen,0, 0, 0, 0, $dimensionx, $dimensiony, $this->dimensiones[0], $this->dimensiones[1]);
  20.     header("Content-Type: image/jpeg");
  21. echo "$dimensionx X $dimensiony px<BR>";
  22.     imagejpeg($tnis->miniatura);
  23. }
  24. } //fin class
  25. $fotografia = new imagen($_GET["fotografia"]);
  26. if ($_GET["modo"]=="original")
  27.     $fotografia->imagen_original();
  28. if ($_GET["modo"]=="miniatura")
  29.     $fotografia->imagen_miniatura();

He conseguido mostrar la imagen original pero no consigo mostrar la imagen reducida y por mas que repaso el codigo no doy con el error :( , ¿alguien me puede ayudar a localizar(y solucionar) el error?

Gracias, saludos:D
__________________
1os pasaos con xAMP en Windows
programando en PERL