Gå til innhold

Watermark script - skurrer til bildet


Anbefalte innlegg

Hei,

dette scriptet gjør bildet veldig skurrete:

<?php
$imagesource =  $_GET['show'];
$filetype = substr($imagesource,strlen($imagesource)-4,4);
$filetype = strtolower($filetype);
if($filetype == ".gif")  $image = @imagecreatefromgif($imagesource);  
if($filetype == ".jpg")  $image = @imagecreatefromjpeg($imagesource);  
if($filetype == ".png")  $image = @imagecreatefrompng($imagesource);  
if (!$image) die();
$watermark = @imagecreatefromgif('bilde.gif');
$imagewidth = imagesx($image);
$imageheight = imagesy($image);  
$watermarkwidth =  imagesx($watermark);
$watermarkheight =  imagesy($watermark);
$startwidth = (($imagewidth - $watermarkwidth) - ($imagewidth - 100));
$startheight = (($imageheight - $watermarkheight) - 5);
imagealphablending($image, true);
imagecopymerge($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>

 

Eksempel; http://radiolive.dk/henrik/

Lenke til kommentar
Videoannonse
Annonse

Hvilke formater er det du prøver å sende inn her?

 

Merk at dersom du her sender inn et gif-bilde, så ender du opp med et 256fargers bilde ut også om jeg ikke tar veldig feil og dermed en veldig begrenset fargepalett. Anbefaler deg å opprette et nytt bilde med imagecreatetruetype() og deretter kopiere først originalen over til det, for så å legge til vannmerket.

Lenke til kommentar

Greit nok.. prøv med denne:

<?php
$imagesource =  $_GET['show'];
$filetype = substr($imagesource,strlen($imagesource)-4,4);
$filetype = strtolower($filetype);

switch ($filetype) {
	case '.gif':
		$image = imagecreatefromgif($imagesource);  
		break;
	case '.jpg':
		$image = imagecreatefromjpeg($imagesource);
		break;
	case '.png':
		$image = imagecreatefrompng($imagesource);  
		break;
}
$image || die();

$watermark = imagecreatefromgif('bilde.gif');
$imagewidth = imagesx($image);
$imageheight = imagesy($image);  

$image2 = imagecreatetruecolor($imagewidth, $imageheight);
imagecopy($image2, $image, 0, 0, 0, 0, $imagewidth, $imageheight);
$image = $image2;

$watermarkwidth =  imagesx($watermark);
$watermarkheight =  imagesy($watermark);
$startwidth = (($imagewidth - $watermarkwidth) - ($imagewidth - 100));
$startheight = (($imageheight - $watermarkheight) - 5);
imagealphablending($image, true);
imagecopymerge($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight, 100);
imagejpeg($image, null, 100);
imagedestroy($image);
imagedestroy($watermark);
?>

 

Nå skal det sies at sikkerheten i scriptet er ikke akkurat topp. Jeg har ikke gjort noe for å sikre det noe utover originalt.

Endret av jonepet
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...