
Originariamente inviata da
Dascos
Credo tu debba prima creare un'immagine di grandezza 1 + 2 ...
Dovrai calcolare la altezza di ognuna (x1 e x2) e la larghezza di ognuna (y1, y2), poi dovrai sommare le due altezze e trovare la larghezza maggiore (y3), quindi creare una "nuova" immagine di altezza x1 + x2 e larghezza y3, al che "pasti" le due immagini dentro la "nuova", usando imagecopy e i relativi parametri.
Non conosco approfonditamente quelle funzioni ma a rigor di logica dovrebbe essere la soluzione più semplice
ciao!
in effetti hai ragione te!
grazie per la dritta!
ho fatto una cosa del genere:
codice:
$path = './';
$images = array('logo.png', 'img_1.jpg');
$totH = 0;
$totW = 380;
foreach ($images as $image) {
list($w, $h) = getimagesize($path . $image);
$totH += $h;
}
$totH += 20;
$mergedImage = imagecreatetruecolor($totW, $totH);
imagealphablending($mergedImage, false);
imagesavealpha($mergedImage, true);
$posY = 0;
foreach ($images as $image) {
$info = getimagesize($path . $image);
$mime = $info['mime'];
$w = $info[0];
$h = $info[1];
if ($mime == 'image/png') {
$img = imagecreatefrompng($image);
} else {
$img = imagecreatefromjpeg($image);
}
imagecopy($mergedImage, $img, 0, $posY, 0, 0, $w, $h);
$posY += $h + 10;
}
imagepng($mergedImage, 'test.png');
echo '<img src="test.png">';
imagedestroy($mergedImage);
sembra funzionare correttamente!
unica cosa è che il logo è più corto dell'altra immagine.
quindi lo devo centrare.