toto galleri con tumb

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
questa è una domanda per eliox (se non mi banna0:)).
sto utilizzando la fotogalleri descritta in un suo articolo qui su mwm.
tutto è ok, la foto si carica, si crea la tmb di dimensioni da me impostate ec..ec..
ma c'è un però
mi hanno caricato una foto di circa 1200px di width, quando lo spazio disponibile è di w=500px e questo scombina tutto il layout.
sono 15 gg che ci sto girando attorno senza cavare un ragno dal buco

dopo aver creato la tumb come faccio a ridimensionare anche l'originale in modo che il rapporto w/h mi stia entro le dim massime da me stabilite?
come devo modificare lo script dell'articolo?
:hammer:

p.s.
per ora sono riuscito a completare tutte le compinazioni possibili:
tumb senza originale
originale ridotta senza tumb
tumb con originale non ridotto
originale non ridotto senza tumb
.......
meno che tumb con originale ridotto:dipser:
 
un atroce dubbio
avevo indicato

function makeThumb($dir,$pic,$n,$t){

@list($width, $height, $type, $attr) = @getimagesize($pic);
$max_w = 600;
$max_h = 400;
$ratio = @min($max_w/$width,$max_h/$height);
..........

e non crea la tumb di 600 o 400 max
poi durante varie (innumerevoli) prove ho modificato

$max_w = 460;
$max_h = 400;
e ha creato la tumb

esiste un limete di grandezza?
ho cercato su http://www.php.net
@imagecreatetruecolor($w,$h);
e
@imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
ma non ho trovato nulla che parli di grandezze massime
 
1) Fatti una funzioncina a parte che produce una copia ridimensionata (e la salva) nel caso in cui l'originale superi la grandezza desiderata, tanto le dimensioni te le ricavi facilmente con i valori $width e $height di list(...)
2) tieni conto che imagecopyresized() è una funzione geometrica, serve a copiare un rettangolo da un'immagine; se il rettangolo definito non può essere tracciato a causa del valore delle coordinate non viene prodotto l'output.
 
Ultima modifica:
ciao eliox chi si rivede

è quello che ho fatto (e sto cercando di fare)
partendo da una foto di dimensioni (cito solo width tanto è lo stesso) W= XY pxl

ho posto
w_tum=180
w_foto=600
r_tumb= w_tumb/W
r_foto=wfoto/W
posso avere solo tre casi che ho risolto con if elseif, e questo è lo (pseudo)codice

if r_fot < 1
makeTumb(vari parametri) con nome tb_foto
makeFoto(vari parametri) con nome c_foto
cancello unlink foto
rename c_foto, foto

elseif r_foto >=1 and r_tumb< 1

makeTumb(vari parametri)
salvo foto così come è

elseif r_tumb >=1
salvo foto cos' come è
salvo salvo foto copy(foto, tb_foto)

fine degli if

risultato?
non mi fa ne la tb_ ne la c_ ne la foto?????

p.s.
la funzione makeFoto è uguale alla tua solo con i parametri diversi di misure e, non sapendo che fare, anche come nomi di variabili (es $temp l'ho chiamata $temp_c)

(bannare o non bannare....questo è il problema:skull:)
 
ciao eliox
sono sempre inesorabilmente qui
ho provato nella pagina carica ad requirare function.php, in function.php ho fatto due funzioni (anzi non fatte copiate)
la prima uguale a quella dell'articolo
nella seconda che ho chiamato makeFoto ho modificato solo i parametri (w e h massimi) e ho detto di salvare il file non con tb_ ma con c_
nella pag carica ho richiamato le due funzioni

PHP:
......
// copio il file nella cartella delle immagini
	@copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);

    // recupero i dati dal form
.....
 // creo la miniatura
    @makeThumb($path_img,$path,$nome,$tipo);

//ridimensiono la foto
   @makeFoto($path_img,$path,$nome,$tipo);
............

con questo speravo di trovarmi tre foto, l'originale, tb_xx e c_xx
nisba
fatta funzione con il criterio del prec post
nisba
:confused::confused::confused:^3
 
si ho tolto le chiocciole e ho tenuto le lumache :)
ci sono vicino
anche se penso di aver trovato una soluzione alquanto arzigogolata
appana è perfetto(:confused:) ti faccio sapere
come sempre grazie
 
pazza idea (non di far l'amor con te perchè non sei il mio tipo)

1) carico semplicemente la foto e la tumb cosi come sono

2) nella pagina in cui visualizzo la foto ricavo

@list($width, $height, $type, $attr) = @getimagesize('miafoto');

da cui ho altezza e larghezza

3) in base alle misure disponibili mi calcolo
$W_foto
$H_foto
e nella visualizzazione

HTML:
<img src="../_fotoTecnica/disefgnoTEC02.png" width="<?php echo $W_foto; ?>" height="<?php echo $H_foto; ?>"  >

o sto dicendo una ca....
:hammer:
 

Discussioni simili