Hulp bij watermerk/tekst op foto

Status
Niet open voor verdere reacties.

Beasty

Gebruiker
Lid geworden
25 feb 2003
Berichten
39
Ik heb een zeer simpel fotoscript, je upload de foto's in verschillende mappen en de naam van de map is direct de naam van je album. Zie hieronder voor het script:

PHP:
<?php

//config
$limiet=1;                // aantal fotos per pagina
$ThisPage = "fotoalbum.php";        // naam van deze pagina
$HooftDir = "images/fuivenfotos";            // naam hoofdmap fotos
$aantalthumbs = 4;             // aantal thumbnails per rij
$totalwidth = 610;             // tataale breedte pagina
$sortAlbums = SORT_DESC;         // Sorteren van de albums op datum(SORT_ASC,SORT_DESC)
$thumbnaam = "/thumb.jpg";        // naam van de thumbs(klein fototje)
$GeenThumb = "geenthumb.jpg";        // naam plaatje als er geen thumb is
$achtergrondboven = "#99CCFF";        // achtergrondkleur boven
$achtergrondonder = "#99CCFF";        // achtergrondkleur onder
$tekstkleur = "#000000";        // tekstkleur
$bgcolor = "#99CCFF";            // achtergrondkleur

//hieronder niets veranderen

$offset = $_GET['offset'];
$page = $_GET['page'];
$linkt .= " / ".$page;
$celbreedte = $totalwidth/$aantalthumbs;

//mappen/albums zoeken
$SubDir = array();
if ($dirHandle = opendir($HooftDir))
{
     while ($album = readdir($dirHandle))
     {
         if ($album != "." && $album != "..")
         {
             $pathAlbum = $HooftDir."/".$album;
            if (is_dir($pathAlbum))
            {
                $SubDir[] = array(filemtime($pathAlbum),$album);                
            }
         }
     }
     closedir($dirHandle);
}

//array sorteren
array_multisort($SubDir, $sortAlbums);
$AantalSubDir = count($SubDir);

//foto's zoeken
$handle=opendir($HooftDir."/".$page);
$counter = 0;
while ($file = readdir($handle))
    {
     $the_type = strrchr($file, ".");
     $is_picture = eregi("jpg",$the_type);
     if ($file != "." and $file != ".." and $is_picture)
        {
         $mypics[$counter] = $file;
         $counter++;
        }
    }
closedir($handle);

//albums weergave
  $Albums .=    '<tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
        <b>Er zijn '.$AantalSubDir ." albums </b></td></tr>
         <tr><td><table border='1' width='".$totalwidth."' bgcolor=".$achtergrondonder."><tr>\n";
if($AantalSubDir>0){
     $count = 0;
     $coll = 1;
     while ($count < $AantalSubDir) {
        if ($coll <= $aantalthumbs) {
        if(file_exists($HooftDir."/".$SubDir[$count][1].$thumbnaam)){
             $Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."?page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$SubDir[$count][1].$thumbnaam."' height=80 width=100 border=0></a>";
         $Albums .= "<br>".$SubDir[$count][1]."</center></td>\n";
        }else{
             $Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."?page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$GeenThumb."' height=80 width=100 border=0></a>";
         $Albums .= "<br>".$SubDir[$count][1]."</center></td>\n";
        }
        $coll ++;
        $count++;
        }
        else {
            $Albums .= "</tr>\n";
            $Albums .= "<tr>\n";
         if(file_exists($HooftDir."/".$SubDir[$count][1].$thumbnaam)){
              $Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."?page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".$SubDir[$count][1].$thumbnaam."' height=80 width=100 border=0></a>";
          $Albums .= "<br>".$SubDir[$count][1]."</center></td>\n\n";
         }else{
              $Albums .= "<td width='".$celbreedte."'>\n<center><br><a href='".$ThisPage."?page=".$SubDir[$count][1]."'><img src='".$HooftDir."/".GeenThumb."' height=80 width=100 border=0></a>";
          $Albums .= "<br>".$SubDir[$count][1]."</center></td>\n\n";
         }
            $count ++;
            $coll = 2;
        }
     }
}else{
  $Albums .= "<tr><td".$achtergrondonder."><i>Geen fotoalbums!</i></td>\n";
}
  $Albums .="</tr></table></center></td></tr>";

//voorberijden navigatie
$aantala = $counter/$limiet;
$paginas = ceil($aantala);

if (empty($_GET["offset"])) {$offset=0;}
else {$offset = $_GET["offset"];}

//navigatie maken
if ($counter > $limiet)
        {
        if ($offset!=0)
            {
             $vorige_offset=$offset-$limiet;
             $pageprint .= "<a href='".$ThisPage."?page=".$page."&offset=".$vorige_offset."' title=\"Vorige pagina\">Vorige</a> |\n";
            }

        for ($i=1;$i<=$paginas;$i++)
             {
              $nieuwe_offset=$limiet*($i-1);
              if ($nieuwe_offset==$offset)
                  {
                   $pageprint .= "<a class='red' href='".$ThisPage."?page=".$page."&offset=".$nieuwe_offset."' title=\"Huidige pagina\"><b>[$i]</b></a> |\n";
                  }
              else
                  {
                   $pageprint .= "<a href='".$ThisPage."?page=".$page."&offset=".$nieuwe_offset."' title=\"pagina $i\">$i</a> |\n";
                  }
             }

        if (!(round($offset/$limiet)==$paginas-1) && $paginas!=1)
            {
             $nieuwe_offset=$offset+$limiet;
             $pageprint .= "<a href='".$ThisPage."?page=".$page."&offset=".$nieuwe_offset."' title=\"Volgende pagina\">Volgende</a>\n";
            }
    }

//foto's maken
if($counter>0){
   for ($j=$offset; $j < $offset+$limiet; $j++)
    {
     if($j < $counter){
      if($mypics[$j] != "thumb.jpg"){
       $str .= "\n<tr><td>\n<br></td></tr>\n";
       $str .= '<tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
            <b>'.$page.' - '.$mypics[$j].'</b></td></tr>';
       $str .= "<tr><td bgcolor=".$achtergrondonder."><center>\n";
       $str .= "<img src='".$HooftDir."/".$page."/".$mypics[$j]."'>\n";
       $str .= "</center></td></tr>\n";
      }
     }
    }
}else{
       $str .= "<tr><td><i>Geen foto's</i></td></tr>";
}
       $str .= '<tr><td><br></td></tr>
           <tr><td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
            <b>Ik wil..</b></td></tr>
           <tr><td bgcolor='.$achtergrondonder.'><a href="'.$ThisPage.'">Ga terug naar de albums</a></td></tr>';

//wel/geen pagenav
if($counter>$limiet)
  {
   $pagenav.=     '<tr><td><br></td></tr><tr>
        <td bgcolor="'.$achtergrondboven.'">&nbsp;&nbsp;&nbsp;
        <b>Navigatie</b></td></tr>
        <tr><td bgcolor="'.$achtergrondonder.'"><center>'.$pageprint.'</center></td></tr>';
}else{
   $pagenav.=    '&nbsp;';
}

//alles weergeven

echo"
<html>
<head>
  <title>Fotoalbum</title>
    <style type='text/css'>
      BODY {font-family: georgia; color: ".$tekstkleur."; ?>;}
      a{color: ".$tekstkleur."; text-decoration: none;}
      a.hover{color: ".$tekstkleur."; text-decoration: underline;}
      a.active{color: ".$tekstkleur."; text-decoration: none;}
    </style>
</head>
<body bgcolor=".$bgcolor.">";

echo "<center><table width='".$totalwidth."' cellspacing=0 cellpadding=0>";
if(!isset($_GET['page'])){
      echo $Albums;
}else{
  echo $pagenav;
  echo $str;
  echo $pagenav;
}
echo "</table></center>\n</bocy>\n</html>";

?>

Nu zou ik graag een watermerk of een soort van copyright in tekstvorm op de foto's willen, tekst is het gemakkelijkste denk... Heb zelf al verschillende dingens geprobeerd, het geprobeerd uit andere scripts te halen, via google gezocht, op wmc's gekeken, etc.... maar steeds kreeg ik errors.

Dus heb hierboven gewoon het origenele bestand gezet voor de gemakkelijkheid, want het mijne zit vol met errors wat ik ervan gemaakt heb.

Ik hoop dat iemand me hierbij zou kunnen helpen, want zit er toch al een hele tijd mee bezig om dit voor elkaar te krijgen. (en eventueel ook wat uitleg erbj, want je bent hier ook deels voor te leren als ik me niet goed vergis :) )


Alvast bedankt voor de reacties
 
Met de GD functies kom ik er niet echt uit, heb nog is gaan zien naar je voorbeelden, heb daar nu een tijdje mee bezig gezeten, alles terug mooi gelezen enzo maar kwam altijd wel terug op een mooie error uit, en als het dan werkt dan zie ik alleen maar de tekst staan die op de foto moet en de foto's zijn dan ineens verdwenen. Volgens mij voeg ik het gewoon steeds ergens verkeert toe.

Welk ik had gebruikt voor mijn werkend voorbeeld maar waar dan die foto's niet meer zichtbaar waren, was dit:

PHP:
header ("Content-type: image/png");
$string = "tekst tekst";                                             
$font  = 4;
$width  = ImageFontWidth($font) * strlen($string);
$height = ImageFontHeight($font);

$im = @imagecreate ($width,$height);
$background_color = imagecolorallocate ($im, 255, 255, 255); //white background
$text_color = imagecolorallocate ($im, 0, 0,0);//black text
imagestring ($im, $font, 0, 0,  $string, $text_color);
imagepng ($im);


Ik heb met de andere ook wat "geëxperimenteerd" maar daar kwamen niks anders dan errors van. Dus dat zag ik na een tijdje niet meer echt zitten.
Nu met bovenstaande code kreeg ik terug goede moed, maar mijn foto's zijn dan ineens niet meer zichtbaar.

Het positieve is dat er geen errors zijn, het negatie is dat mijn foto's niet meer zichtbaar zijn.
 
Er even van uit gaande dat je foto's in .jpg formaat zijn, verander je dit:
PHP:
<?
$im = @imagecreate ($width,$height); 
$background_color = imagecolorallocate ($im, 255, 255, 255); //white background
?>
in dit:
PHP:
<?
$im = @imagecreatefromjpeg ($jouwplaatje); 
?>
..waarbij $jouwplaatje een foto is, bijvoorbeeld foto.jpg. Kan je met deze code aan de slag?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan