Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Unire due immagini

  1. #1
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273

    Unire due immagini

    Ciao a todos,

    ho bisogno di unire due immagini con le gd.

    Vi spiego la mia situazione: ho una serie di foto in jpg e ad ogni foto voglio sovrapporre il logo del mio sito (che ho in png trasparente).

    E' possibile farlo? Come?

    Pao

  2. #2
    Si si può fare,a suo tempo mi era stato detto di fare con le GD. Non ho mai capito come,mi aggrego alla tuadomanda e mi iscrivo al topic in attesa di risposta

  3. #3
    per cominciare usi imagecreatefromjpeg() sull'immagine JPEG d'origine, poi fai imagecreatefrompng() sull'immagine filtro e poi usi imagecopy() per sovrapporre il filtro all'immagine originale e poi per finire con imagejpeg puoi restituire l'immagine ottenuta dalla sovrapposizione.

    Ti rimando alla doc PHP per i dettagli sull'utilizzo delle funzioni menzionate

  4. #4
    Si, è possibile, guarda qui:
    http://www.krakatoa.it/kpa/
    e clicca una qualsiasi foto!

    All work and no play makes EricFlat a dull boy

  5. #5
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273
    [supersaibal]Originariamente inviato da spoon25
    per cominciare usi imagecreatefromjpeg() sull'immagine JPEG d'origine, poi fai imagecreatefrompng() sull'immagine filtro e poi usi imagecopy() per sovrapporre il filtro all'immagine originale e poi per finire con imagejpeg puoi restituire l'immagine ottenuta dalla sovrapposizione.

    Ti rimando alla doc PHP per i dettagli sull'utilizzo delle funzioni menzionate [/supersaibal]
    codice:
    $file="URL O PATH JPEG";
    $file2="URL O PATH LOGO PNG DA SOVRAPPORRE";
    
    $size=getimagesize($file);
    $size2=getimagesize($file2);
    
    $img=imagecreatefromjpeg($file);
    $img2=imagecreatefrompng($file2);
    
    imagecopy($img,$img2,$size[0]-$size2[0]-10,$size[1]-$size2[1]-10,0,0,$size2[0],$size2[1]);
    
    imagejpeg($img,'',100);
    Ecco il codice, potrebbe tornare utile a qualcuno...
    Posiziona il logo (in png trasparente, ricalcolando le trasparenze) in basso a destra distanziato dal bordo della foto di 10 pixel...

  6. #6

    Re: Unire due immagini

    [supersaibal]Originariamente inviato da PaoDJ
    Ciao a todos,

    ho bisogno di unire due immagini con le gd.

    Vi spiego la mia situazione: ho una serie di foto in jpg e ad ogni foto voglio sovrapporre il logo del mio sito (che ho in png trasparente).

    E' possibile farlo? Come?

    Pao [/supersaibal]
    http://phpsoft.no-ip.info/private/imageresize.rar

    dagli un occhio, fa esattamente quello che ti serve, però conviene che ti implementi il posizionamento relativo in modo che da delle generiche coordinate -15 e -20, ad es, dicendogli che partono dall'angolo basso a destra, perché x adesso il watermark lo mette con il posizionamento assoluto ed è un po scomodo ))

    oppure studiale e prova a riscriverti una funzione per come ti serve a te

  7. #7
    Ciao,
    ho fatto una funzione che dovrebbe aggiungere un watermark alle immagini. Funziona discretamente ma se tento di sovrapporre un watermark png con trasparenza a un'immagine gif non funziona..

    Non capisco se è una limitazione tecnica del formato.. avete qlke idea?

    codice:
    function addWatermark($img, $watermark){
        $size_im = getimagesize($img);
        if( $size_im[2] == 2 ){
          $im = @imagecreatefromjpeg($img);
        }
        elseif( $size_im[2] == 1 ){
          $im = @imagecreatefromgif($img);
        }
        elseif( $size_im[2] == 3 ){
          $im = @imagecreatefrompng($img);
        }
    
        $size_wm = getimagesize($watermark);
        if( $size_wm[2] == 2 ){
          $wm = @imagecreatefromjpeg($watermark);
        }
        elseif( $size_wm[2] == 1 ){
          $wm = @imagecreatefromgif($watermark);
        }
        elseif( $size_wm[2] == 3 ){
          $wm = @imagecreatefrompng($watermark);
        }
    
        @imagealphablending($im, true);
        @imagecopy($im,$wm,$size_im[0]-($size_wm[0]+5),$size_im[1]-($size_wm[1]+5),0,0,$size_wm[0],$size_wm[1]);
    
        if( $size_im[2] == 2 ){
          @imagejpeg($im, $img, 80);
        }
        elseif( $size_im[2] == 1 ){
          @imagegif($im, $img);
        }
        elseif( $size_im[2] == 3 ){
          @imagepng($im, $img);
        }
        @imagedestroy($im);
        @imagedestroy($wm);
      }

  8. #8

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