Avatar billede kegud Nybegynder
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å ;)
Avatar billede jakobdo Ekspert
25. juni 2007 - 19:36 #1
Har du noget kode som sætter watermark på et billede nu?
Hvilke billedetyper snakker vi? (jpg, gif, bmp, png eller ??)
Avatar billede kegud Nybegynder
25. juni 2007 - 20:18 #2
Desværre.. "kom til" at ødelægge det hele lidt med nogle forsøg. Fandt det herinde dog. Og vi snakker jpg-billeder.
Avatar billede jakobdo Ekspert
25. juni 2007 - 21:12 #3
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);

?>
Avatar billede kegud Nybegynder
26. juni 2007 - 13:14 #4
Amen det er jo perfekt, mester. Tusind tak! Hvis du smider et svar får du point.
Avatar billede jakobdo Ekspert
26. juni 2007 - 13:19 #5
Svar!

PS: Husk kun at kør filen engang.
Avatar billede kegud Nybegynder
26. juni 2007 - 13:20 #6
Yep, skal jeg huske! Mange tak endnu en gang!
Avatar billede jakobdo Ekspert
26. juni 2007 - 13:28 #7
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester