ciao.
Dovrei utilizzare php per unire 2 o piu' immagini in un unica immagine , la 2 e successive partono dove è finita la 1 o precendente.
Con le gdi2 si puo' fare ?
come?
Grazie.
ciao.
Dovrei utilizzare php per unire 2 o piu' immagini in un unica immagine , la 2 e successive partono dove è finita la 1 o precendente.
Con le gdi2 si puo' fare ?
come?
Grazie.
sì, si può fare, puoi usare imagecreatefromjpeg e le altre funzioni correlate per:
- importare le immagini in variabili PHP;
- definire una nuova immagine delle dimensioni finali volute;
- copiare le singole immagine nella nuova "contenitore" alle coordinate giuste
purtroppo ora non ho tempo di scriverti il codice... puoi guardare le funzioni sul manuale o aspettare qualche reply di altri utenti...
eyen , conosci uno script gia fatto ?
IN piu' dovrei poter fare la stessa cosa su jpg,gif e png.
si puo?
Grazie.
per i formati: non c'è problema... per lo script non mi viene in mente, non mi pare... posso scrivertelo, ma ora non ho tempo... aspettiamo se qualcun altro lo posta, altrimenti te lo faccio appena possibile (non è una cosa lunga, comunque)
prova a partire con questo...
dove $imgname1 e $imgname2 sono i nomi complei di path di due immagini da fondere in una sola...
ho scritto di fretta e non ho controllato... parti con immagini tutte delle stesso tipo (jpeg)Codice PHP:
<?php
// carico le immagini e le informazioni: w=larghezza, h=altezza, t=tipo
// (qui mettere un loop e usare un vettore)
$im1 = @imagecreatefromjpeg($imgname1);
list($w1, $h1, $t1) = getimagesize($imgname1);
$im2 = @imagecreatefromjpeg($imgname2);
list($w2, $h2, $t2) = getimagesize($imgname2);
// (qui fare un controllo più fine se le immagini sono in un vettore)
if ($im1 && $im2) {
// creo il contenitore largo quanto la somma delle due immagini e alto quanto la più alta
// (qui definire correttamente larghezza e altezza totali)
$im = imagecreatetruecolor($w1+$w2, max($h1, $h2));
// copio le immagini
// (qui definire correttamente le coordinate)
imagecopy($im, $im1, 0, 0, 0, 0, $w1, $h1); // la prima ancorata in alto a sx
imagecopy($im, $im2, $w1, 0, 0, 0, $w2, $h2); // la seconda a dx della prima
};
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>
grazie.
Ho realizzato quello che mi hai consigliato , solo ho un problema:
nella versione che ho fatto ho utilizzato i .png anziche i .jpg e le immagini finali erano enormi come è possibile ridurre la grandezza delle immagini concatenate?
Utilizzando Jpg?
è possibile stabilire una percentuale di perdita di informazione tollerabile?
Se si , le immagini devono essere utilizzate come sfondi , che percentuale(sempre se si puo')mi consigli?
Grazie.