Problema con il ridimensionamento

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
Seguendo questa guida https://www.mrw.it/php/articoli/galleria-immagini-php-gd2-mysql_828.html vorrei salvare le miniature un po piu grandi. ho provato a cambiare tutti i valori nel file function.php
PHP:
<?php
function makeThumb($dir,$pic,$n,$t){
  @list($width, $height, $type, $attr) = @getimagesize($pic);
  $max_w = 100;
  $max_h = 100;
  $ratio = @min($max_w/$width,$max_h/$height);

  // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl
  if ($ratio < 1){
    // Individuo le nuove dimensioni da assegnare all'immagine
    $w = @floor($ratio*$width);
    $h = @floor($ratio*$height);

    // creo una nuova immagine con le dimensioni appena calcolate
    $thumb = @imagecreatetruecolor($w,$h);
    if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
    elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
    elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}

    // ridimensiono l'originale e salvo nella cartella di destinazione
    @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
    if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
  }
}
?>

Ma non mi fa ingrandire l'immagine....
Quindi ho provato io a fare uno script
PHP:
<?php
function makeThumb($dir,$pic,$n,$t){
  @list($width, $height, $type, $attr) = @getimagesize($pic);
  $thumb = imagecreatetruecolor(160, 340);
$source = imagecreatefromjpeg($pic);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 160, 340, $width, $height);
imagejpeg($thumb,"$dir/tb_".$n ,75);
}
?>

Pero quando si salva l'immagine mi da sempre quelle misure, come posso fare per averle piu grandi?
P.S. per constatare se sono piu piccole o piu grandi sono andato direttamente ad aprirle cliccando sul file
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non so se ho capiyto bene, ma wuoi fare le tumb più grendi? se è cosi devi variare

$max_w = 100;
$max_h = 100;

es. in
$max_w = 200;
$max_h = 200;

dimenticavo:
nella
elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
c'è un erroretto, correggi in
elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n);}
 
Ultima modifica:

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
Mmmm mi dispiace ma come hai detto tu non, va, mi da sempre la stessa dimensione ecco il codice come mi hai detto tu di modificare

PHP:
<?php 
function makeThumb($dir,$pic,$n,$t){ 
  @list($width, $height, $type, $attr) = @getimagesize($pic); 
  $max_w = 200; 
  $max_h = 200; 
  $ratio = @min($max_w/$width,$max_h/$height); 

  // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl 
  if ($ratio < 1){ 
    // Individuo le nuove dimensioni da assegnare all'immagine 
    $w = @floor($ratio*$width); 
    $h = @floor($ratio*$height); 

    // creo una nuova immagine con le dimensioni appena calcolate 
    $thumb = @imagecreatetruecolor($w,$h); 
    if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);} 
    elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);} 
    elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);} 

    // ridimensiono l'originale e salvo nella cartella di destinazione 
    @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height); 
    if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);} 
    elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n);}
    elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);} 
  } 
} 
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
strano, io avevo usato tempo fa
$max_w = 150; //e anche altri valori
$max_h = 150;
e funzionava.
prova a mettere dei var_dump e posta i risultati

PHP:
<?php  
function makeThumb($dir,$pic,$n,$t){  
  @list($width, $height, $type, $attr) = @getimagesize($pic);
  var_dump($width);
  var_dump($height);
  $max_w = 200;  
  $max_h = 200;  
  $ratio = @min($max_w/$width,$max_h/$height);
   var_dump($ratio);
  // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl  
  if ($ratio < 1){
    // Individuo le nuove dimensioni da assegnare all'immagine  
    $w = @floor($ratio*$width);  
    $h = @floor($ratio*$height); 
	var_dump($w);
	var_dump($h);
//ecc....
?>
poi prova con un'immagine es. jpg di cui conosci le dimensioni (> di 200x200px) e con carta e penna calcolati quello che dovrebbe risultare, provi a inseririla e guara di var_dump,
il calcolo (salvo errori di approssimazione) dovrebbe essere uguale al risultato dei var_dump.

p.s.
piccolo dubbio: hai le librerie gd attive?

dimenticavo: prova a togliere i silent per vedere se ti da qualche errore
 

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
Il fatto dei var mi da questo: int(528) int(720) float(0.27777777777778) float(146) float(200)
quindi in teoria la miniatura deve essere di 146x200 pero misurandola (con il programma Meazure) la miniatura risulta 75x100.... Ho provato anche a scaricarla sul pc per paura che lo zoom del browers aveva manomesso le misure ma è sempre 75x100.
Le librerie sono attive
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa prima mi ero dimenticato di chiederlo: a quanti px ai settato le due variabili
$max_w
$max_h
?
scusa mi era sfuggito VISTO
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per sicurezza ho riprovato tutto lo script.
per comodità di calcolo ho lasciato la prima volta
$max_w = 100;
$max_h = 100;
ho caricato una .jpg (barche.jpg) da 792x516 px
poi con esplora risorse sono andato nella cartella e ho trovato (come deve essere), oltre l'originale, la
tb_barche.jpg da 100x65 px
poi ho settato
$max_w = 200;
$max_h = 200;
ricaricata la stessa foto (con nome diverso barche_01.jpg) e ho trovato la tumb
tb_barche_01.jpg da 200x130 px

sei sicuro di guardare bene le misure?

p.s.
per essere ancora più sicuro le ho richiamata in una pag htm e tutto è ok
 

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
ora go capito lo sbaglio, se carico immagini 528x700 rimane cosi, invece se metto immagini 700x580 me lo fa cambiare le dimmensioni, per ovviare a questo problema come potrei fare?
Comunque grazie mille del tuo aiuto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
...se carico immagini 528x700 rimane cosi, invece se metto immagini 700x580 me lo fa cambiare le dimmensioni...
scusa ma non capisco cosa vuoi dire
se carichi un'immagine 700x528 px ti da una tumb da 200x146
se carichi un'immagine 528x700 px ti da una tumb da 146x200

cioè $max_w e $max_h fanno in modo che la misura maggiore rientri nel valore settato mantenendo sempre le proporzioni dell'immagine
 

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
se carico una immagine ad esempio 530x700 posso dare qualsiasi valore a $max_w e $max_h, la miniatura sarà sempre 72x105
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se carico una immagine ad esempio 530x700 posso dare qualsiasi valore a $max_w e $max_h, la miniatura sarà sempre 72x105
svuoti la cahe? perchè non capisco, sto usando lo script che stai usando tu
caricando un'immagine da 530x700px
con
$max_w = 100;
$max_h = 100;
ottengo una tumb 75x100
con
$max_w = 150;
$max_h = 150;
ottengo una tumb 113x150
con
$max_w = 200;
$max_h = 200;
ottengo una tumb 151x200
 

giovanni_fanta

Nuovo Utente
17 Nov 2011
13
0
0
Sono stato tutta la giornata a fare le prove.... lo script va pero alcune immagini me le ridimensiona in un modo e altre immagini me le ridimensiona in un altro modo... ho fatto tutte queste prove con immagini jpeg con dimensioni 720x540.... Mah mistero!!!
P.S. comunque mi sono sbagliato io... non centra nulla se sono in verticale o orizzontale
 
Discussioni simili
Autore Titolo Forum Risposte Data
neo996sps Problema con tutorial per ridimensionamento immagini PHP 10
U Problema ridimensionamento immagini con PHP PHP 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7

Discussioni simili