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
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
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![]()
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
Si, è possibile, guarda qui:
http://www.krakatoa.it/kpa/
e clicca una qualsiasi foto!
![]()
All work and no play makes EricFlat a dull boy
[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]Ecco il codice, potrebbe tornare utile a qualcuno...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);
Posiziona il logo (in png trasparente, ricalcolando le trasparenze) in basso a destra distanziato dal bordo della foto di 10 pixel...
http://phpsoft.no-ip.info/private/imageresize.rar[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]
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![]()
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
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); }