Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Tagliare una foto orizzontale

    Ciao a tutti, ho un problema, con questo piccolo script ridimensiono una foto rendendola di larghezza pari a 400 pixel.
    Io vorrei fare in modo che l'utente carichi delle foto e queste vengano inserite su sito con le dimensioni da me prescelte, 400x200 pixel.
    Ora... la larghezza è sistemata con questo script qui sotto, ma per l'altezza come faccio ?

    codice:
    include("classe_resize.php");
    $resize = new resize;
    $resize->urlimage = "../2010_altarisoluzione/$data($newstring)$foto_name";
    $resize->fisso = 0;
    $resize->maxX = 400;
    $resize->maxY = 100;
    $resize->latofisso = "X";
    $resize->folder = "../2010_medio/";
    $resize->newName = "$data($newstring)$foto_name";
    $resize->go();
    Ho provato ad usare queste righe :

    codice:
    $percorso_file = "../2010_medio/$data($newstring)$foto_name";
    $dest = "../2010/$data($newstring)$foto_name";
    
    list($larghezza, $altezza) = getimagesize("$percorso_file");
    $img =  imagecreatefromjpeg($percorso_file);
    $qualita = 100;
    $nuova_altezza = "220";
    $nuova_larghezza= "400";
    $tmp_img = imagecreatetruecolor($nuova_larghezza, $nuova_altezza);
    imageantialias($tmp_img, true);
    imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $nuova_larghezza, $nuova_altezza, $larghezza, $altezza);
    imagedestroy($img);
    $img = $tmp_img;
    $immagine_nuova = $cartella . $file_name;
    imagejpeg($img, $dest, $qualita);
    Ma non mi taglia l'altezza, me la ridimensiozne dandomi quindi una foto schiacciata.

    Avete idee di come possa tagliare la foto quando abbiamo una eccedenza in altezza ?

    Grazie
    Informazione finanziaria: http://www.dominosolutions.it

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Codice PHP:
    $percorso_file "../2010_medio/$data($newstring)$foto_name";
    $dest "../2010/$data($newstring)$foto_name";

    list(
    $larghezza$altezza) = getimagesize("$percorso_file");
    $img =  imagecreatefromjpeg($percorso_file);
    $qualita 100;
    $nuova_altezza 400*$larghezza/$altezza;
    $nuova_larghezza"400";
    $tmp_img imagecreatetruecolor($nuova_larghezza$nuova_altezza);
    imageantialias($tmp_imgtrue);
    imagecopyresampled($tmp_img$img0000$nuova_larghezza$nuova_altezza$larghezza$altezza);
    imagedestroy($img);
    $img $tmp_img;
    $immagine_nuova $cartella $file_name;
    imagejpeg($img$dest$qualita); 
    Se vuoi che vengano rispettate le proporzioni devi accettare che almeno l'altezza sia proporzionale alla foto originale.

  3. #3
    ho risolto utilizzando la funzione imagecopy

    codice:
    <?php
    // Original image
    $filename = 'someimage.jpg';
    
    // Get dimensions of the original image
    list($current_width, $current_height) = getimagesize($filename);
    
    // The x and y coordinates on the original image where we
    // will begin cropping the image
    $left = 50;
    $top = 50;
    
    // This will be the final size of the image (e.g. how many pixels
    // left and down we will be going)
    $crop_width = 200;
    $crop_height = 200;
    
    // Resample the image
    $canvas = imagecreatetruecolor($crop_width, $crop_height);
    $current_image = imagecreatefromjpeg($filename);
    imagecopy($canvas, $current_image, 0, 0, $left, $top, $current_width, $current_height);
    imagejpeg($canvas, $filename, 100);
    ?>
    Per chi fosse interessato trovate le info qui
    http://php.net/manual/en/function.imagecopy.php
    Informazione finanziaria: http://www.dominosolutions.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.