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

    problema con resize di immagini

    io uso questo script:
    codice:
    function resize_image($img_res, $maxX, $maxY) {
    	$actualX=imagesx($img_res);
    	$actualY=imagesy($img_res);
    
    	$newX = $maxX;
    	$newY = $actualY/$actualX * $newX;
    	$tmp_img_res = imagecreatetruecolor($newX, $newY);
    		
    	$res = imagecopyresampled($tmp_img_res, $img_res, 0, 0, 0, 0, $newX, $newY, $actualX, $actualY);
    	return $tmp_img_res;
    }
    ma perché mi restituisce l'immagine non delle dimensioni che voglio?

    per stamparla faccio così:
    codice:
    $img_res = imagecreatefromstring($fileContent);
    $new_img_res = resize_image($img_res, 103, 67); # x y
    unset($img_res);
    print_image($new_img_res, 100);
    unset($new_img_res);
    e questa è la funzione print_image
    codice:
    function print_image($img_res, $quality=100) {
    	header('Content-Type: image/jpeg');
    	imagejpeg($img_res,NULL, $quality);
    }
    però se voglio l'immagine di 103 px me la fa di 113...vedete qualche errore voi?

    vi prego, sto impazzendo1


    Grazie dell'aiuto!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    il codice sembra corretto, hai fatto diverse prove con diverse immagini? ti conviene debuggare lo script, ovvero controllare il valore di $maxX, $newX, etc. all'interno della funzione...inoltre $maxY non viene mai usato.




    think simple think ringo

  3. #3
    Io ho effettuato qualche modifica tempo fa al calcolo proporzionale.
    codice:
    if (($width/$maxwidth) < ($height/$maxheight)) {
    $prop = ceil ($width / $maxwidth);
    $height1 = ceil ($height / $prop);
    $width1 = $maxwidth;
    
    } else {
    $prop = ceil ($height / $maxheight);
    $width1 = ceil ($width / $prop);
    $height1 = $maxheight;
    }
    Anch'io usavo prima quella funzione, ma la trovavo inidonea per l'adattamento delle immagini su formati verticali e orizzontali.
    Perciò calcolo il rapporto tra base/basemax e altezza/altezzamax e in base a quello ridimensiono.
    "La grandezza dell'uomo si misura in base a quel che cerca e all'insistenza con cui egli resta alla ricerca".

  4. #4
    boh ragazzi

    dev'essere dovuto ai css [ho visto un margin-right di 10 px] di cui non so una cippa, e che non posso togliere...quindi ora ci piazzo una dimensione di 10 pixel in meno visto che non posso toccare il css.


    per il fatto che manchi maxY o altro è perché l'ho modificato per questioni ri dimensioni, devomantenere costante la larghezza e l'altezza può fare ciò che vuole.


    grazie ad entrambi
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.