Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Unificare due immagini

Hybrid View

  1. #1
    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

  2. #2
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    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.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.