Seite 1 von 1
"Watermarks" mittels GD LIB setzen...
Verfasst: 15.08.2004 23:21
von knalltrauma
So, ich hätt wieder mal ne kleine Frage
Hab mich soeben mal ein bisschen mit GD LIB befasst. Anscheinend ist es da möglich, Bilder auf den Webserver in ein Verzeichnis zu laden ---> anschliessend erscheinen dann die Bilder (wenn man sie aufruft) mit einem Wasserzeichen (Logo/Copyright) auf dem Bild ... transparentes .png.
Soweit, sogut...ich würde das gern für den Folder vom Smartor-Album machen. Hab aber irgendwie keine Ahnung wie ich da vorgehen muss. Oder weiss jemand ein dazu geeignetes PHP-Script?
Vielen Dank

Verfasst: 15.08.2004 23:27
von Leuchte
Verschoben von Coding & Technik nach Modifikationen
Warum das Rad neu erfinden
http://www.phpbbhacks.com/viewhack.php?id=2747
Verfasst: 16.08.2004 17:03
von knalltrauma
Sorry Leuchte, hab nicht gewusst dass es da schon einen MOD gibt
Aber vielen Dank für deine Hilfe...genau sowas hab ich gesucht

Verfasst: 12.09.2004 20:41
von knalltrauma
Nun...ich hab den Mod jetzt eingebaut. Aber irgendwie ist die Transparenz vom Bild nicht so das was ich will
So schauts bei der Demo aus (ebenfalls bei mir):
http://www.ragga-jungle.com/album_pic.php?pic_id=2
Ich hätte jedoch gerne, dass das Bild nicht transparent über das andere gelegt wird sonder 100%ig ist (also nicht durchsichtig). Weisst du evt. wo ich das einstellen kann?
Hier mal der Code, der das Wasserzeichen bewirkt:
Code: Alles auswählen
#-----[ FIND ]------------------------------------------------
#
switch ( $pic_filetype )
{
case '.png':
header('Content-type: image/png');
break;
case '.gif':
header('Content-type: image/gif');
break;
case '.jpg':
header('Content-type: image/jpeg');
break;
default:
die('The filename data in the DB was corrupted');
}
readfile(ALBUM_UPLOAD_PATH . $thispic['pic_filename']);
#
#-----[ REPLACE WITH ]-----------------------------------------
#
$watermark_ok = 0;
if ($album_config['watermark_images'] == 1)
{
$marktype = substr($album_config['watermark_source'], strlen($album_config['watermark_source']) - 4, 4);
switch ( $marktype )
{
case '.png':
$nm = imagecreatefrompng($album_config['watermark_source']);
break;
case '.gif':
$nm = imagecreatefromgif($album_config['watermark_source']);
break;
case '.jpg':
case 'jpeg':
$nm = imagecreatefromjpeg($album_config['watermark_source']);
break;
default:
$nm = false;
}
if ( $nm )
{
$sx = imagesx($nm);
$sy = imagesy($nm);
switch ( $pic_filetype )
{
case '.png':
$im = imagecreatefrompng(ALBUM_UPLOAD_PATH . $thispic['pic_filename']);
break;
case '.gif':
$im = imagecreatefromgif(ALBUM_UPLOAD_PATH . $thispic['pic_filename']);
break;
case '.jpg':
case 'jpeg':
$im = imagecreatefromjpeg(ALBUM_UPLOAD_PATH . $thispic['pic_filename']);
break;
default:
$im = false;
}
if ( $im )
{
$sx2 = imagesx($im);
$sy2 = imagesy($im);
imagecopymerge($im,$nm,($sx2 - $sx - 5), ($sy2 - $sy - 5), 0,0,$sx,$sy,40);
$watermark_ok = 1;
}
}
}
if ($watermark_ok)
{
switch ( $pic_filetype )
{
case '.png':
case '.gif':
header('Content-type: image/png');
imagepng($im);
break;
default:
header('Content-type: image/jpeg');
imagejpeg($im);
break;
}
}
else
{
switch ( $pic_filetype )
{
case '.png':
header('Content-type: image/png');
break;
case '.gif':
header('Content-type: image/gif');
break;
case '.jpg':
case 'jpeg':
header('Content-type: image/jpeg');
break;
default:
die('The filename data in the DB was corrupted');
}
readfile(ALBUM_UPLOAD_PATH . $thispic['pic_filename']);
}
Verfasst: 12.09.2004 22:19
von saerdnaer
imagecopymerge($im,$nm,($sx2 - $sx - 5), ($sy2 - $sy - 5), 0,0,$sx,$sy,40);
das 40 dürfte wohl der transparenzfaktor sein
PHP Handbuch: imagecopymerge
ah
Verfasst: 18.10.2004 13:46
von klunzen
hallo.
habe auch den watermark mod eingerichtet.
nur wird bei mir in keinem bild das wasserzeichen angezeigt.
als admin habe ich wasserzeichen anzeigen aktiviert und mein einzufügendes bild lautet: "/images/logo2.gif"
an was könnts liegen?
Verfasst: 18.10.2004 16:47
von klunzen
hat sich erledigt.
hab den fehler entdeckt.