Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Wasserzeichen sollte immer an derselben Stelle.... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Wasserzeichen sollte immer an derselben Stelle....


 
bastian
30-01-2004, 12:22 
 
hallo zusammen,
hab mir hier ein "Mach-Mir-Mein-Logo-Auf-Meine-Bilder"-Script gezogen und hätt da mal ne Frage zur Positionierung des Wasserzeichens:

Wie kann man, ganz gleich welche Höhe bzw. Breite das Bild hat,
das Wasserzeichen(Logo) immer an derselben Position zeigen?

Momentan ist's so, das bei nem kleinen Bild das Logo unten links steht,
bei einem grossen ist es eher mittig...

Wär für jeden Tipp dankbar,
gruss
Bassek


<?

// PROGRAMMED BY MACX ONLINE


header('Content-type: image/jpeg');

// Datei "test.jpg" öffnen.
$file = 'test.jpg';
if (file_exists($file)) {
// Originalformat auslesen
$size = getimagesize($file);
$width = $size[0];
$height = $size[1];
// Bild laden
$old_picture = imagecreatefromjpeg($file);
// Neues Bild erzeugen
$new_picture = imagecreatetruecolor($width, $height);
// Kopiert das Ursprungsbild und formatiert es um + Weichzeichnung.
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width, $height, $width, $height);
// Wasserzeichen einbinden
$transition = 50;
$watermarkfile = imagecreatefrompng('logo.png');
$waternarkpic_width = imagesx($watermarkfile);
$waternarkpic_height = imagesy($watermarkfile);
$watermarkdest_x = $width / 4.5 - ($waternarkpic_width / 2);
$watermarkdest_y = $height / 1.09 - ($waternarkpic_height / 2);
imagecopymerge($new_picture, $watermarkfile, $watermarkdest_x, $watermarkdest_y, 0, 0, $waternarkpic_width, $waternarkpic_height, $transition);
// Bild ausgeben
imagejpeg($new_picture);
}

#############################


?>

 
cst
30-01-2004, 12:43 
 
Du musst die Variablen $watermarkdest_x und $watermarkdest_y richtig berechnen. Versuche doch mal folgendes:


<?
$watermarkdest_x = ($width / 2) - ($waternarkpic_width / 2);
$watermarkdest_y = ($height / 2) - ($waternarkpic_height / 2);
?>


Das Wasserzeichen soll in die Mitte vom Bild. Also Mitte berechnen ($width /2) bzw. ($height / 2). Nun musst Du das Wasserzeiten etwas höher und etwas weiter links anordnen. Dieser Offset ist logischerweise die Hälfte der Höhe bzw. Breite des Wasserzeichens.

Sag mal, ob´s geklappt hat.

 
bastian
30-01-2004, 16:51 
 
probiers gleich mal... hold.on.a.sec.

...
jo, hat geklappert!
aber sag mal:
weisst du obs normal ist, dasses so lange dauert, bis das bild angezeigt wird?
kann man das ganze nicht was fixer machen?
gruss und danke,
bassek

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:55 Uhr.