Redimensionar imagen de Google con script PHP sencillo

  • Autor Autor jpmaster
  • Fecha de inicio Fecha de inicio
jpmaster

jpmaster

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Hola a todos chicos, quiero compartirles un php sencillo que programe ayer, era para un cliente y me gustaría compartirlo con la comunidad espero que les guste y le saquen provecho


Básicamente el script lo que hace es hacer un búsqueda interna en google mediante su api publica, muestra un resultado y captura la imagen para después redimensionarla al tamaño que desees, muy útil para aquello que no deseen hostear las imágenes, ya mucho bla bla y menos codigo 😀

PHP:
<?php
/*
  @version 1.0
  @autor : jpmaster.net@gmail.com

*/
  
class jpImage{

  var $imageDefault = "";

  var $searchDefault = "jpmaster";

  var $options = array();

  var $widthDefault = 50; //ancho por defecto

  var $heightDefault = 50; //alto por defecto

  var $url_service = "http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=%s+photo&imgsz=small|medium&as_filetype=jpg";

  function __construct($option){

    $this->options = $option;

    $fuente = $this->leer_datos(sprintf($this->url_service, $this->options['query']));

    $json   = json_decode($fuente);
   
    $imgurl = empty($json->responseData->results[0]->unescapedUrl) ? $this->imageDefault : $json->responseData->results[0]->unescapedUrl;

    $width = empty($this->options['width']) ? $this->widthDefault : $this->options['width'];
    
    $height = empty($this->options['height']) ? $this->heightDefault : $this->options['height'];

    //results
    $result = @getimagesize($imgurl);
    
     if(!$result) die('Imagen no existe '.$imgurl);

     switch ($result['mime']) {
       
       case 'image/jpeg':
         header(sprintf("Content-type: %s", $result['mime']));
          $img = @imagecreatefromjpeg($imgurl);
          $thumb = $this->resizeFit($img, $width, $height);
          imagejpeg($thumb);
          imagedestroy($thumb);
         break;
       
       default:
         echo 'error xD';


         break;
     }



  }

  private function resizeFit($im, $width, $height){
    $ow = imagesx($im); $oh = imagesy($im);
        if($width/$ow > $height/$oh) {
        $nw = $width;
        $nh = ($oh * $nw) / $ow;
        $px = 0;
        $py = ($height - $nh) / 2;
    } else {
        $nh = $height;
        $nw = ($ow * $nh) / $oh;
        $py = 0;
        $px = ($width - $nw) / 2;
    }

    $new = imagecreatetruecolor($width,$height);
    imagecopyresampled($new, $im, $px, $py, 0, 0, $nw, $nh, $ow, $oh);
    return $new;
  }


  private function leer_datos($url){

   return file_get_contents($url); //si deseas puedes usar curl

  }

}

y como funciona?, pues sencillo solo pasarle un arreglo con los parametros, "busqueda", 'ancho', 'alto' eso es todo sencillo verdad?

PHP:
//funcionamiento
//uso: imagen.php?query=smallville xD


$img = new jpImage(array(
      'query' => $_GET['query'],
      'width' => 100, // anchura deseada
      'height' => 120 // altura deseada
  ));
 
Última edición:
gracias ya voy aver si lo uso para algun sitio o algo
 

Temas similares

G
Respuestas
5
Visitas
1K
Carlos Perez
Carlos Perez
L
Respuestas
7
Visitas
191
luna78
L
Atrás
Arriba