$result in Bild ausgeben

DFence

Mitglied
Servus zusammen,
gibt es die Möglichkeit mit PHP und der GD Library
einen Wert $result auf ein vorhandenes Bild zu legen ?
Ich hoffe ich versteht was ich meine :D

THX schon mal für eure Hilfe/Tipps
 
Erstmal THX ssurfer

Irgendwie bekomm ich des net hin.
Dieses erstellen des Thumb bräuchte ich ja net.
Nur praktisch mein vorhandenes jpg öffnen und $result drüberlegen.
 
Ich hab es dir mal ein wenig abgeändert.
Aber ob die Klasse nun Thumb heisst oder nicht ist doch egal.


PHP:
<?php
include($_SERVER['DOCUMENT_ROOT'].'/pfad/zur/klasse);
$result = "Ein Text der über einem Bild liegt.";
$file = $_SERVER['DOCUMENT_ROOT'].'/pfad/zum/bild.jpg';
$picture = new thumb($file, $result);
$picture->savetofile();
?>

PHP:
<? 
// Inhalt: Klasse zum Erstellen von Thumbnails 
// Autor: Reitinger Matthias a.k.a. reima (plz give proper credit) 

class thumb 
{ 
var $im = 0; 

function thumb($file, $message) 
{ 
$this->file = $file;
$this->message = $message;
if ($file) { 
$this->create($file, 1); 
} 
} 

function create($file) 
{ 

if ($this->im) $this->clear(); 

$options = getimagesize($file); 
$src_width = $options[0]; 
$src_height = $options[1]; 
$src_type = $options[2]; 

if ($src_type != 2) return false; // kein jpeg => abbrechen 

$src_im = imagecreatefromjpeg($file); 
$this->im = imagecreatetruecolor($src_width, $src_height); 

$color = imagecolorallocate($this->im, 207, 207, 207); 
$text = $this->message;
$x = "100"; // X-Achse für text
$y = "100"; // Y-Achse für Text
$font = "5"; // Font-Größe (1-5)

imagecopyresized($this->im, $src_im, 0, 0, 0, 0, $src_width, $src_height, $src_width, $src_height); 
imagestring($this->im, $font, $x, $y, $text, $color); 
 

imagedestroy($src_im); 

return true; 
} 

function savetofile($quality=100) 
{ 
$file = basename($this->file);
imagejpeg($this->im, $file, $quality); 
} 
 

function clear() 
{ 
imagedestroy($this->im); 
$this->im = 0; 
} 
} 
?>
 
So, hier noch ein kleines Feedback, wie ich es hinbekommen habe.

PHP:
<?php

$result = TEST ;


header ("Content-type: image/png");
$bild = imagecreatefrompng("xxx/yyyzzz.png");					// wo liegt das Bild
$background_color = ImageColorAllocate ($bild, 255, 255, 255);	// Bildhintergrund
$text_color = ImageColorAllocate ($bild, 0, 0, 0);				// Textfarbe
imagettftext($bild, 50, 0, 150, 200, $text_color, "welche_Schriftf", $result); // Text,Schrift,Koordinaten,Farbe auswaehlen
ImagePNG ($bild);
imagedestroy ($bild);

?>

Nur ist mein Problem jetzt, ich kann nicht weiter machen ?
Wahrscheinlich ist es wieder zu hoch für mich :mad:

Möchte z.B. nach dem Bild noch echo ("TEST"); haben... dann kommt plötzlich nur Kauderwelsch mit Zeichen über die ganze Seite ?
Wad is dad wieder ?

Danke für eure Hilfe
 
Zuletzt bearbeitet:
Nur ist mein Problem jetzt, ich kann nicht weiter machen ?
Wahrscheinlich ist es wieder zu hoch für mich :mad:

Möchte z.B. nach dem Bild noch echo ("TEST"); haben... dann kommt plötzlich nur Kauderwelsch mit Zeichen über die ganze Seite ?
Wad is dad wieder ?
Durch den Header
PHP:
header ("Content-type: image/png");
wird die Datei wie ein .png Bild behandelt. Du könntest es z.B. so lösen:
image.php ist die Datei, in der das Bild erzeugt wird. Diese kannst du mit <img src="image.php"> aufrufen. Den $string übergibst du mit GET also so:
PHP:
<?php
$string = "TEST";
echo '<img src="image.php?string=$string"><br />';
echo $string;
?>
Ich hoffe, dass es verständlich ist (ist schon viel zu spät...)
vG
David
 
So, nachdem es super geklappt hat,
wäre es natürlich nicht schlecht wenn $result einen Wert annimmt der von einem Formular übergeben wird. Hier ist nun das Problem.
Ich lasse Daten in ein Formular (formular.php) eingeben, die dann an eine weite Seite blabla.php übergeben werden.

Code:
<form action="blabla.php" method="post" name="bla">

Das Bild wird ja in der image.php "erstellt, soll aber als $result den Wert aus dem Formular nehmen.

Habe jetzt schon versucht, die Seite blabla.php per include in die image.php "einzufügen, aber da meckert er, wegen dem Header.

Gibt es eine Möglichkeit, bei der form action zwei Seiten einzutragen ?
Ich meine, dass die Daten z.B. an blabla.php und an image.php übergeben werden ?
Oder denke ich falsch, und muß das ganze anders lösen ?

Ich hoffe ihr kommt mit und versteht was ich meine !?

THX für eure Hilfe !
 
Zurück