WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 19.02.2005, 20:16   #1
AlexanderFX
Veteran
 
Registriert seit: 23.01.2003
Alter: 39
Beiträge: 224


AlexanderFX eine Nachricht über ICQ schicken
Standard wasserzeichen

hallo miteinander

ich wollt wissen wie ich ein wasserzeichen auf ein jpg bild dynamisch mittels php erzeuge und gleich ausgeben kann

danke im vorraus
mfg alex
AlexanderFX ist offline   Mit Zitat antworten
Alt 19.02.2005, 20:47   #2
AlexanderFX
Veteran
 
Registriert seit: 23.01.2003
Alter: 39
Beiträge: 224


AlexanderFX eine Nachricht über ICQ schicken
Standard

hmm ich hab jetzt schon einige scripte gefunden
unter anderem dieses hier:
PHP-Code:
<?php
// Copyright by A. Suter - You can remove this line

/////////////////////////////
// Configuration, Settings //
/////////////////////////////
$f1     $_GET["f1"];     // Filename of the background image
$f2     $_GET["f2"];     // Filename of the watermark image
$t      $_GET["t"];      // Transparent color for the watermark image
$align  $_GET["align"];  // Horizontal alignment (left, center, right)
$valign $_GET["valign"]; // Vertical alignment (top, middle, bottom)
$alpha  $_GET["alpha"];  // Alpha blending of the watermark

/* Set default values */
$alpha = (($alpha=="")?80:$alpha);


/////////////////////////////
// Header sendings         //
/////////////////////////////

/* Avoid caching the histogram */
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0"false);
header("Pragma: no-cache");

/* Ensure the returned bytes are interpreted as jpeg-image */
header("Content-type: image/jpeg");


/////////////////////////////
// Script                  //
/////////////////////////////

/* Open images and get their dimensions */
$im1 imagecreatefromjpeg($f1);
$im2 imagecreatefrompng($f2);
$s1  getimagesize($f1);
$s2  getimagesize($f2);

if ( 
$t != "" )
{
/* Check whether the watermark is truecolor or not */
if ( imageistruecolor($im2) )
$col imagecolorallocate($im2hexdec(substr($t,0,2)), hexdec(substr($t,2,2)), hexdec(substr($t,4,2)));
else
$col imagecolorexact($im2hexdec(substr($t,0,2)), hexdec(substr($t,2,2)), hexdec(substr($t,4,2)));

/* Set the transparent color */
imagecolortransparent($im2$col);
}

/* Get the position of the watermark */
if ( $align == "left" )        $x 0;
elseif ( 
$align == "right" )   $x $s1[0] - $s2[0];
else                           
$x = ($s1[0] - $s2[0]) / 2;
if ( 
$valign == "top" )        $y 0;
elseif ( 
$valign == "bottom" $y $s1[1] - $s2[1];
else                           
$y = ($s1[1] - $s2[1]) / 2;

/* Copy and merge the two images */
imagecopymerge($im1$im2$x$y00$s2[0], $s2[1], $alpha);

/* Return the image */
imagejpeg($im1''100);
imagedestroy($im1);
imagedestroy($im2);

?>
nur hab ihc keine ahnung was ich dann in den img tag schreiben soll..

kann mir jemand bitte helfen
mfg alex
AlexanderFX ist offline   Mit Zitat antworten
Alt 21.02.2005, 09:45   #3
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Wenn du den Php-Quelltext unter "bild.php" abspeicherst, dann sieht der <img> Tag in etwa so aus:
[img]bild.php?f1=dasBild.jpg&f2=dasWasserzeichen.png[/img]
Die anderen Parameter kannst du natürlich auch noch anhängen (t, align, valign, alpha - sind im Code eh dokumentiert).

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 22.02.2005, 17:14   #4
AlexanderFX
Veteran
 
Registriert seit: 23.01.2003
Alter: 39
Beiträge: 224


AlexanderFX eine Nachricht über ICQ schicken
Standard

hey danke.. hat alles funktioniert =D
thx
AlexanderFX ist offline   Mit Zitat antworten
Alt 22.02.2005, 20:56   #5
AlexanderFX
Veteran
 
Registriert seit: 23.01.2003
Alter: 39
Beiträge: 224


AlexanderFX eine Nachricht über ICQ schicken
Standard

so für alle die vorhaben das script mal auszuprobieren (da ja schon viele klicks auf dem post waren)

wie gesagt im image tag aufrufen ..
dann die bildurl ($f1) von der aufgerufenen seite(ich nenn sie mal watermark.php) aus angeben, nicht von der seite von der das bild geöffnet wird, die ist natürlich egal falls die 2 datein im gleichen ordner liegen

weiters t bedeutet transparent.. und kennzeichnet die farbe die er transparent machen soll. die farbe als code einfach in der url übergeben aber ohne #

ausrichtung ist klar.
bei png erstellen muss man nicht viel beachten

falls das png größer is als das ausgangsbild wird kein bild angezeigt.

so i glaub das war das wichtigste

mfg alex
AlexanderFX ist offline   Mit Zitat antworten
Alt 22.02.2005, 21:21   #6
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Was noch manchmal ein Fehler ist: Das Skript sollte in einer eigenen Datei stehen, insbesondere darf kein Text ausgegeben werden, da der Browser das Bild sonst nicht lesen kann.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:43 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag