Visualizzazione risultati 1 fino 6 di 6

Discussione: AIUTO: problemi creazione thumb con gd

  1. #1
    Guest

    Predefinito AIUTO: problemi creazione thumb con gd

    Qualcuno saprebbe gentilmente spiegarmi perchè non riesco a creare delle thumb con le librerie gd?
    Sono graditi anche esempi pratici...grazie

  2. #2
    Guest

    Predefinito

    Prima di rispondere alla tua domanda te ne faccio una io..
    Lo script che genera l'immagine è contenuta in un pagina con altro codice o sta in una pagina a parte (contenente SOLO lo script per 1 immagine)?

  3. #3
    Guest

    Predefinito

    è mista di codice html e php...

  4. #4
    Guest

    Predefinito

    purtroppo sei troppo vago devi essere piu preciso..
    E' un server locale o altervista? se non è altervista ti sei assicurato che GD sono abilitate? Hai verificato la condizione che dice allo ?

    Sono graditi anche esempi pratici...grazie
    Hai fatto una ricerca sul forum? Ci sono centinaia di esempi pratici sparsi per il forum!

  5. #5
    Guest

    Predefinito

    //THUMB.PHP

    <?
    include('functions.php');
    while ($entry = $d->read())
    {
    if((substr($entry,-4,strlen($entry))=='.jpg')or(substr($entry,-4,strlen($entry))=='.gif'))
    {
    $immagine=$entry;
    $titolo=substr($entry,0,-4);
    $oggi= getdate();
    $giorno = $oggi['mday'];
    $mese = $oggi['mon'];
    $anno = $oggi['year'];
    $ore=$oggi['hours'];
    $minuti=$oggi['minutes'];
    $secondi=$oggi['seconds'];
    $data = $anno .'-'. $mese .'-'. $giorno .' '. $ore .':'. $minuti .':'. $secondi;

    $querySelect=mysql_query('SELECT * FROM immagini WHERE immagini.immagine="'.$immagine.'"');
    if(!$querySelect || (mysql_numrows($querySelect) < 1))
    {
    $counter++;

    $sorg="../images/".$immagine;
    $dest="../images_pic/".$immagine;

    create_thumbnail($sorg,$dest,100,75,100,false);
    }
    }
    }
    $d->close();
    ?>

    //FUNCTIONS.PHP

    <?

    function check_folder($folder){
    if(file_exists($folder)){
    if (!is_dir($folder)){
    mkdir($folder);
    }
    } else {
    mkdir($folder);
    }
    }
    //-------------------------------------------------------------------------------------------------------------
    // funzioni: creazione thmbnail
    //-------------------------------------------------------------------------------------------------------------
    function create_thumbnail($src,$dest,$maxWidth,$maxHeight,$ quality=100, $prop=false) {
    if($src!=''){
    $checkjpg=$this->check_image_type($src,2);
    $checkgif=$this->check_image_type($src,1);
    if (($checkjpg!="")&&($checkgif!="")) {
    unlink($src);
    } else {
    $this->image_createThumb($src,$dest,$maxWidth,$maxHeight ,$quality, $prop);
    }
    }
    }
    function check_image_type($pathname,$deftype) {
    list($width, $height, $type, $attr) = getimagesize($pathname);
    if ($type==$deftype)
    return("");
    else
    return("Errore: non è del tipo corretto");
    }
    function image_createThumb($src,$dest,$maxWidth,$maxHeight, $quality=100, $prop) {
    if (file_exists($src) && isset($dest)) {
    // path info
    $destInfo = pathInfo($dest);
    // image src size
    $srcSize = getImageSize($src);
    if ($srcSize[0]>$maxWidth | $srcSize[1]>$maxHeight){
    // image dest size $destSize[0] = width, $destSize[1] = height
    $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio
    $destRatio = $maxWidth/$maxHeight;
    $propW=$srcSize[0]/$maxWidth;
    $propH=$srcSize[1]/$maxHeight;
    if($propH>$propW){
    $maxHeight=$maxHeight;
    $maxWidth=($srcSize[0]*$maxHeight)/$srcSize[1];
    }else{
    $maxWidth=$maxWidth;
    $maxHeight=($srcSize[1]*$maxWidth)/$srcSize[0];
    }

    // path rectification
    if ($destInfo['extension'] == "gif") {
    $dest = substr_replace($dest, 'jpg', -3);
    }
    // true color image, with anti-aliasing
    $destImage = imageCreateTrueColor($maxWidth,$maxHeight);
    imageAntiAlias($destImage,true);
    // src image
    switch ($srcSize[2]) {
    case 1: //GIF
    $srcImage = imageCreateFromGif($src);
    break;

    case 2: //JPEG
    $srcImage = imageCreateFromJpeg($src);
    break;

    case 3: //PNG
    $srcImage = imageCreateFromPng($src);
    break;

    default:
    return false;
    break;
    }
    // resampling
    imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$maxWidth,$maxHeight,$srcSize[0],$srcSize[1]);
    // generating image
    switch ($srcSize[2]) {
    case 1:
    case 2:
    imageJpeg($destImage,$dest,$quality);
    break;
    case 3:
    imagePng($destImage,$dest);
    break;
    }
    if ($prop==true){
    $insert = imageCreateFromJpeg($dest);
    if (imagesx($insert)>imagesy($insert)){
    $max_side=imagesx($insert);
    //orizzontale
    $or='o';
    } else {
    $max_side=imagesy($insert);
    //verticale
    $or='v';
    }
    $background = imageCreateTrueColor($max_side,$max_side);
    $back = ImageColorAllocate($background, 125,125,125);
    imagefill($background,0,0,$back);
    if ($or=='v'){
    $start= (($max_side-imagesx($insert))/2);
    imagecopymerge($background,$insert,$start,0,0,0,im agesx($insert),imagesy($insert),100);
    } else {
    $start= (($max_side-imagesy($insert))/2);
    imagecopymerge($background,$insert,0,$start,0,0,im agesx($insert),imagesy($insert),100);
    }
    imagejpeg($background,$dest,100);
    }
    }else{
    //copio l'immagine dalla cartella ordginin alla cartella di destinazione
    copy($src,$dest);
    }
    }
    }

    ?>

  6. #6
    Guest

    Predefinito

    ho risolto...grazie a tutti

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •