25. juni 2007 - 14:14
Der er
6 kommentarer og
1 løsning
GBlib og logoer
hej, nu har kigget en del gdlib-indlæg igennem og har da også fået noget af det til at virke. Men nu vil jeg lige høre om det her er muligt:
Jeg har en masse billeder liggende på en server. Er det muligt at få GBLib til at mass-logoisere samtlige billeder i en mappe? Altså hvis der nu ligger 100 billeder i en mappe, om man så kan få den til at smide et logo (watermark.png) i nederste højre hjørne af dem alle på én gang?
Hvis nogen gider, må de meget gerne lave scriptet også ;)
Har du noget kode som sætter watermark på et billede nu?
Hvilke billedetyper snakker vi? (jpg, gif, bmp, png eller ??)
Noget kode ala dette:
<?php
//http://www.eksperten.dk/spm/784870
$watermark_png = 'watermark.png';
$watermark = imagecreatefrompng($watermark_png);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
foreach (glob("*.jpg") as $filename)
{
$image = imagecreatefromjpeg($filename);
$width = imagesx($image);
$height = imagesy($image);
if($watermark_width > $width || $watermark_height > $height)
{
$dstim = imagecreatetruecolor(30, 10);
imagecopyresampled( $dstim, $watermark, 0, 0, 0, 0, 30, 10, $watermark_width, $watermark_height );
$dest_x = $width - 35;
$dest_y = $height - 15;
imagecopymerge($image, $dstim, $dest_x, $dest_y, 0, 0, 30, 10, 100);
}
else
{
$dest_x = $width - $watermark_width - 5;
$dest_y = $height - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
}
unlink($filename);
imagejpeg($image,$filename,100);
imagedestroy($image);
}
imagedestroy($watermark);
?>