Avatar billede nightz Nybegynder
26. marts 2009 - 15:48 Der er 5 kommentarer

Watermark GD-Lib

Jeg har leget lidt med følgende artikkel:
http://www.eksperten.dk/guide/1132
Dog synes jeg ikke ridtig der sker noget når jeg kører filen på fra serveren. Den ligger på: http://www.nightz.dk/watermark/new.php
Den skulle smelte følgende to billeder sammen:
http://nightz.dk/watermark/pic.jpg
http://nightz.dk/watermark/watermark.png
Har jeg sovet i timen eller er det noget teknisk?
For den viser ingen fejl når jeg kører filen. Den burde da bare gemme "pic.jpg", som en ny fil, ik?

pfh. tak
Avatar billede celfa Nybegynder
26. marts 2009 - 17:08 #1
har du chmod din mappe så den kan gemme filer?
Avatar billede nightz Nybegynder
26. marts 2009 - 18:45 #2
øh...
nok ikke...
Hvad vil det sige?
Avatar billede nightz Nybegynder
26. marts 2009 - 19:00 #3
Ok.
Nu har jeg chmod 777 mappen og filerne.
No cure:(
Andre bud?
Avatar billede celfa Nybegynder
26. marts 2009 - 21:07 #4
Kan vi ikke se koden fra din php fil? Det hjælper jo ikke at du linker til din php fil. Vi kan jo ikke rigtig se noget kode.
Avatar billede nightz Nybegynder
26. marts 2009 - 22:48 #5
Jo selvfølgelig:)

<?php
function getExt($filename)
{
  return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}
function watermark( $filename, $newfilename, $watermark='watermark.png', $quality=85 )
{
  $ext = getExt( $filename );  switch($ext) 
  {
    case 'jpeg':
    case 'jpe':
    case 'jpg':
      $srcim = imagecreatefromjpeg( $filename );
      break;
    case 'gif':
      $srcim = imagecreatefromgif( $filename );
      break;
    case 'png':
      $srcim = imagecreatefrompng( $filename );
      break;    default:
      return false;
  }
  $srcw  = imagesx($srcim);
  $srch = imagesy($srcim);
  $wext = getExt( $watermark );
  switch($wext)
  {
    case 'jpeg':
    case 'jpe':
    case 'jpg':
      $watim = imagecreatefromjpeg( $watermark );
      break;
    case 'gif':
      $watim = imagecreatefromgif( $watermark );
      break;
    case 'png':
      $watim = imagecreatefrompng( $watermark );
      break;
    default:
      return false;
  }
  $watw  = imagesx($watim);
  $wath = imagesy($watim);
    if($watw > $srcw || $wath > $srch)
  {
    return false; 
    }
    $dest_x = $srcw - $watw;
  $dest_y = $srch - $wath;
  imagecopy($srcim, $watim, $dest_x, $dest_y, 0, 0, $watw, $wath, 100 );
   
  switch($ext) 
  {
    case 'jpeg':
    case 'jpe':
    case 'jpg':
      imagejpeg( $srcim, $newfilename, $quality );
      break;
    case 'gif':
      imagegif( $srcim, $newfilename );
      break;
    case 'png':
      $png_q = floor( abs( $quality / 10 - 9.9 ) );
      imagepng( $srcim, $newfilename, $png_q );
      break;
    default:
      return false;
}
    imagedestroy( $srcim );
    imagedestroy( $watim );
    return file_exists($newfilename);
}
?>
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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