-
watermark
Salve a tutti, sto cercando di unire due immagini in modo da formarne una, cioe di mettere per esempio un marchio sulle immagini. Ho trovato vari esempi in rete ma non mi funzionano. Posto qua il codice se qualcuno può darmi una mano. Grazie.
(P.s le immagini alla fine le vorrei in formato .jpg)
Codice PHP:
<?php
// Load the image where the logo will be embeded into
$image = imagecreatefromjpeg('imageURL');
// Load the logo image
$logoImage = imagecreatefrompng("logo.png");
imagealphablending($logoImage, true);
// Get dimensions
$imageWidth=imagesx($image);
$imageHeight=imagesy($image);
$logoWidth=imagesx($logoImage);
$logoHeight=imagesy($logoImage);
// Paste the logo
imagecopy(
// destination
$image,
// source
$logoImage,
// destination x and y
$imageWidth-$logoWidth, $imageHeight-$logoHeight,
// source x and y
0, 0,
// width and height of the area of the source to copy
$logoWidth, $logoHeight);
// Set type of image and send the output
header("Content-type: image/png");
imagePng($image);
// Release memory
imageDestroy($image);
imageDestroy($imageLogo);
?>
-
Ho provato a eseguire il codice e funziona senza problemi controlla che l'immagine di partenza sia in JPG e il logo che vuoi sovrapporre sia in PNG.
Per ottenere l'immagine finale in JPG sostituisci le ultime righe
Codice PHP:
// Set type of image and send the output
header("Content-type: image/png");
imagePng($image);
con
Codice PHP:
// Set type of image and send the output
header("Content-type: image/jpeg");
imagejpeg($image);
-
si è tutto come deve essere (.jpg .png) ma non mi funziona lo stesso. Mettiamo che il file con il codice si chiami watermark.php quando lo clicco mi fa vedere una piccola icona in alto a sinistra come se l'immagine non fosse presente nel server, lo stesso se lo richiamo con <img src="watermark.php"> e le due immagini ( jpg e png ) sono come le ho caricate, nessun cambiamento. Grazie ancora.
-
Ho provato a eseguirlo su altervista (prima lo avevo eseguito in locale) ho eliminato
Codice PHP:
imagealphablending($logoImage, true);
e mi ha visualizzato correttamente l'immagine
-