Lustiges Fotobearbeiten mit maga :(

maga147

Erfahrenes Mitglied
Guten Abend,

ich bin gerade dabei, mir ne Gallery zu coden. Ich habe daran gedacht, alles soviel wie möglich automatisch zu machen! Jetzt möchte ich meine (original) Bilder die ich Uppe mit einer Autoren Zeile und Wasserzeichen versehen so dass alles ungefähr so aussieht:

http://img210.imageshack.us/img210/7996/imagehw1.jpg (mit Photoshop bearbeitet)

Und äh... wie soll ich sagen... ich hab irgndwie fast keine Ahnung von Bildbearbeitung mit PHP....

Könnte mir da jemand mit den nötigen Funktionen und/oder Tutorials oder Codeschnipseln helfen

Vielen Dank :)
 
Hallo,
ich weiß nicht wie oft wir dieses Thema die letzten Tage hatten.....
benutz einfach mal die foren suche!

Um ein text in ein Bild einzufügen kannst du dieses Script nehmen:

PHP:
<?php
  header("Content-type: image/jpeg");
  $imgo = $_GET['pic'];
  $imgh = imagecreatefromjpeg($imgo);
  $imgs = getimagesize($imgo);
  $white = imagecolorallocate($imgh,255,255,255);
  $font = 12;
  $text = "Irgendein text";
  $width = imagefontwidth($font) * strlen($text);
  $ypos = $imgs[1] - $font - 8;
  $xpos = $imgs[0]  - $width - 8;
  imagestring($imgh, $font, $xpos, $ypos, $text, $white);
  imagejpeg($imgh);
  imagedestroy($imgh);
  
?>

Die funktionen die du brauchst findest du in der Dokumentation von http://www.php.net

lg..
garlof
 
Ja Danke, den schnipsel hab ich auch, dank der Suche, schon gefunden gehabt. Nur wie bekomm ich die Schrift linksbündig?

mich auf php.net zu verweisen ist zwar schnell getan, aber helfen tuts mir ehrlich gesagt nicht, weil ich ja nicht mal nen Schimmer davon hab, welche Funktionen da gebraucht werden
 
Ja...
den Codeschnipsel hatte ich schonmal bereits in einem ähnlich Thread gepostet, dass ist richtig.
den Text bekommst du linksbündig mit:
PHP:
$xpos = 0;


Dann lade dir einfach mal die PHP doku runter http://www.php.net/get/php_manual_de.chm/from/a/mirror
und gib da mal image im Index bereich ein und wirst ca. 30-40 Funktionen gezeigt bekommen...
Was die dann bewirken kannst dir ja dann durchlesen.
 
Zuletzt bearbeitet:
Hi,

also, ich hab jetzt mal ein bisschen rumgetüftelt und zusammen mit noch einem anderen Wasserzeichen Script das Logo oben rechts sowie die schrift unten hinbekommen.... Was mir jetzt noch fehlt ist der Balken unten unter der Schrift...

PHP:
$watermark = imagecreatefromGIF('watermark.gif');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($imgo);
$image_width = imagesx($image);
$image_height = imagesy($image);
$dest_x = 0;
$dest_y = 0;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);

$imgh = imagecreatefromjpeg($imgo);
$imgs = getimagesize($imgo);
$white = imagecolorallocate($imgh,255,255,255);
$font = 2;
$text = "copyright 2006 by racing-and-tuning.de || Fotograf: Max Mustermann || 31.02.2006";
$width = imagefontwidth($font) * strlen($text);
$ypos = $image_height - $watermark_height;
$xpos = 0;
imagestring($image, $font, $xpos, $ypos, $text, $white);

imagejpeg($image);
   

imagedestroy($image);
imagedestroy($watermark);
?>

Könnte mir bitte jemand sagen, wie ich den in meinem Script noch unterbringe Und vielleicht könnte der ein oder andere mal über mein Script schaun und nach Fehlern durchsuchen, die sich negativ auf die Resourcen oder die Qualität schlagen...

Vielen Dank!
 
Probier es mal mit

PHP:
imagefill($imgage,0, $image_height - $watermark_height, 'Farbe');
Beachte aber das erst danach der text darauf kopiert werden kann.


Beschreibung:
int imagefill ( resource im, int x, int y, int col )

ImageFill() bewirkt das Füllen eines Bildes beginnend bei der Koordinate x, y (oben links ist 0, 0) mit der Farbe col im Bild im.

Lg.

Garlof
 
Hi,

sorry für die späte meldung, aber irgendwie bekomm ich mit der Funktion nicht mehr als einen kleinen Punkt oder sowas hin.....

PHP:
$watermark = imagecreatefromGIF('watermark1.gif');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($imgo);
$image_width = imagesx($image);
$image_height = imagesy($image);
$dest_x = 0;
$dest_y = 0;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);

imagefill($image,0,$image_height - 15,'ffffff');   //CODE

$imgh = imagecreatefromjpeg($imgo);
$imgs = getimagesize($imgo);
$white = imagecolorallocate($imgh,255,255,255);
$font = 2;
$text = "copyright 2006 by racing-and-tuning.de || Fotograf: Max Mustermann || 31.02.2006";
$width = imagefontwidth($font) * strlen($text);
$ypos = $image_height - 15;
$xpos = 0;
imagestring($image, $font, $xpos, $ypos, $text, $white);
 
Ah sorry mein Fehler....
Benutz

int imagefilledrectangle ( resource im, int x1, int y1, int x2, int y2, int col )


ImageFilledRectangle() erzeugt ein mit der Farbe col gefülltes Rechteck innerhalb des Bildes im. Die obere linke Eck-Koordinate wird mittels x1 und y1, die untere rechte Eck-Koordinate mittels x2 und y2 definiert. 0, 0 ist dabei die linke obere Ecke des Bildes im.

PHP:
ImageFilledRectangle($image, 0,$image_height -15,$image_width ,$image_height, 'ffffff' )

Lg.

Garlof
 
Zurück