| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

15-06-2007, 19:47
|
|
moinmoin666
Newbie
|
|
Registriert seit: Mar 2007
Beiträge: 65
|
|
Text im Bild
Hi leute, bevor ihr denkt: "nicht noch einer"
bitte ich euch genau zu lesen, da ich nicht zu doof zum googlen bin
Ich versuche in eine fertige php datei, wo dynamisch bilder geldaen werden eine text ins bildchen zu schreiben. ein verweiß auf meine Seite
Also hier wie das Bild ausgegeben wird:
PHP-Code:
$image = $row["poster"];
echo("<div id=\"ka".$array['id']."\" style=\"display: none;\"><br><img src='".$image."' border=0><br></div>");
dieses liebe bildchen $row["poster"] ist immer ein aderes, bedeutet:
Die user dürfen es selbst hochladen! und somit hat es entweder jpg/jpeg, gif oder png format!
Auch die größe ist immer unterschiedlich....
Ich wollte fragen ob es vllt machbar wäre unten links in der ecke mit der höhe von 10% der gesamthöhe und 50% der gesamtlänge einen schriftzug von mir ein zu bauen?
ICh habe unter google immer nur sowas wie
nur PNG bilder und auch dann nur die datei im header, wobei hier der Header ja schon längst gesendet wurde  .
Die Dateien sind Teilweise auch bei imagehack gehostet oder anderen hostern... wäre es machbar, soetwas einzubauen?
ICh bin für jede Hilfe dankbar!
mfg moinmoin666
|

15-06-2007, 20:29
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Zitat:
|
Ich wollte fragen ob es vllt machbar wäre unten links in der ecke mit der höhe von 10% der gesamthöhe und 50% der gesamtlänge einen schriftzug von mir ein zu bauen?
|
grundsätzlich: ja.
Zitat:
ICh habe unter google immer nur sowas wie
nur PNG bilder und auch dann nur die datei im header, wobei hier der Header ja schon längst gesendet wurde
|
widerspricht dem hier:
Zitat:
|
da ich nicht zu doof zum googlen bin
|
http://www.google.de/?q=php+image+watermark
Zitat:
|
Die Dateien sind Teilweise auch bei imagehack gehostet oder anderen hostern... wäre es machbar, soetwas einzubauen?
|
ja, aber dann musst du die bilder erst mal auf deinem server herunterladen, bevor du da einen schriftzug draufsetzst.
|

15-06-2007, 20:35
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Du willst also einen beliebigen Text in ein Bild schreiben ? Dann http://ch2.php.net/manual/de/ref.image.php
Gruss
tobi
|

15-06-2007, 20:58
|
|
moinmoin666
Newbie
|
|
Registriert seit: Mar 2007
Beiträge: 65
|
|
Danke erstmal für die Antworten...
Vllt um dem ganzen etwas mehr substanz zu geben
PHP-Code:
$fontpath = "arial.ttf";
$text = "Meineseite!";
$textpos_top = "20";
$textpos_left = "20";
$text_winkel = "0";
$text_size = "12";
$im = imagecreate($image);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header("Content-Type: image/png");
Imagepng($im,'',100);
ImageDestroy ($im);
?>
Hier habe ich leider wieder nur diesen Müll mit dem Header, der ja schon geschickt worden ist
Es wäre echt nett wenn mir wer weitehelfen könnte wie ich DIESEN code in meinen implatieren könnte, ich stehe voll auf dem Schlauch
Meine Fehlermeldungen:
Warning: Wrong parameter count for imagecreate() in C:\Programme\xampp\htdocs\details.php on line 570
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in C:\Programme\xampp\htdocs\details.php on line 571
Warning: imagettftext() expects parameter 1 to be resource, null given in C:\Programme\xampp\htdocs\details.php on line 572
Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\include\secerts.php:593) in C:\Programme\xampp\htdocs\details.php on line 574
Warning: imagepng(): supplied argument is not a valid Image resource in C:\Programme\xampp\htdocs\details.php on line 575
Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\Programme\xampp\htdocs\details.php on line 576
Geändert von moinmoin666 (17-06-2007 um 23:05 Uhr)
|

15-06-2007, 21:37
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Zitat:
|
Hier habe ich leider wieder nur diesen Müll mit dem Header, der ja schon geschickt worden ist
|
wenn du weißt, woran das liegt, warum begehst du den fehler dann?
Zitat:
|
Es wäre echt nett wenn mir wer weitehelfen könnte wie ich DIESEN code in meinen implatieren könnte, ich stehe voll auf dem Schlauch
|
gegen bezahlung - immer gern. ansonsten weißt du, was du als erstes korrigieren musst.
danach kannst du erst mal im manual nachschlagen, was imagecreate macht.
|

15-06-2007, 23:12
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von moinmoin666
Hier habe ich leider wieder nur diesen Müll mit dem Header, der ja schon geschickt worden ist
|
Nein, du hast nicht wieder "nur diesen Müll".
Die Meldung kommt in diesem Fall nur, weil die vorherigen Warnings bereits eine Ausgabe darstellen.
Fehler immer der Reihe nach abarbeiten.
Zitat:
|
Warning: Wrong parameter count for imagecreate() in [...]
|
Also, fang damit an.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-06-2007, 02:28
|
|
moinmoin666
Newbie
|
|
Registriert seit: Mar 2007
Beiträge: 65
|
|
ok, nach ein bissel umstellen des Scriptes habe ich JETZT nur noch diesen komischen header Fehler, bzw. dahinter sehr viele komische Zeichen, wo ich nicht weiß was es darstellen soll (vllt das Bild)
Warning: Cannot modify header information - headers already sent by
(output started at C:\Programme\xampp\htdocs\include\inc.php:593)
in C:\Programme\xampp\htdocs\details.php on line 574
Damiut ihr wisst wie weit ich jetzt bin:
PHP-Code:
$image = $row["poster"];
$fontpath = "arial.ttf";
$text = "Meineseite!";
$textpos_top = "20";
$textpos_left = "20";
$text_winkel = "0";
$text_size = "12";
$im = imagecreatefromjpeg($image);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header("Content-Type: image/jpeg");
Imagejpeg($im,'',100);
ImageDestroy ($im);
print("<div id=\"ka".$array['id']."\" style=\"display: none;\"><br><img src='".$im."' border=0><br></div>");
Für JPG GIF UND PNG werde ich einfach normale IF abfragen reinhauen mit substr() der letzten 3 bzw 4 Zeichen (oder geht das auch einfacher??)
Ich hoffe ihr habt noch ne Idee mit diesem Header  Weil mir ist bewusst das der schon gesendet wurde, nur wie sende ich ihn nicht und stecke das Bild in eine Abfragbare variable???
Geändert von moinmoin666 (16-06-2007 um 02:50 Uhr)
|

16-06-2007, 03:33
|
|
moinmoin666
Newbie
|
|
Registriert seit: Mar 2007
Beiträge: 65
|
|
So damit wir nicht durcheinander kommen wollte ich mal das präsentieren wie ich es jetzt habe:
noch ne php, die folgendermaßen geladen wir:
PHP-Code:
print("<div id=\"ka".$array['id']."\" style=\"display: none;\">
<br><img src='nild.php?poster=$row[poster]'
border=0><br></div>");
und jetzt hab ich noch eine datei die heißt nild.php erstellt, mit folgendem inhalt:
PHP-Code:
<?php
include "include/secrets.php";
$image = $_GET["poster"];
if (substr("$image", -3) == "jpg" or substr("$image", -4) == "jpeg");
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$textpos_top = "20";
$textpos_left = "20";
$text_winkel = "0";
$text_size = "100";
$im = imagecreatefromjpeg($image);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/jpeg");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
if (substr("$image", -3) == "gif");
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$textpos_top = "20";
$textpos_left = "20";
$text_winkel = "0";
$text_size = "12";
$im = imagecreatefromgif($image);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/gif");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
if (substr("$image", -3) == "png");
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$textpos_top = "20";
$textpos_left = "20";
$text_winkel = "0";
$text_size = "12";
$im = imagecreatefrompng($image);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/png");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
?>
Das einzzigste Prob was ich jetzt noch habe:
Wie bekomm ich es hin, das es Prozentual angezeigt wird, also auf nem 100 pixel großem bild 10% also 10 pixel, und auf nem 1000 pixel 100 ???
Das funktioniert noch nicht so
vielen danke für euere Hilfe!!
|

16-06-2007, 13:54
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
erst mal ist
PHP-Code:
$textpos_top = "20";
nicht korrekt, da eine zahl keine zeichenkette ist. lies im manual unter "datentypen" nach.
mit getimagesize() kannst du die größe eines bildes ermitteln. die prozentumrechnung bekommst du dann wohl selbst hin.
|

16-06-2007, 16:20
|
|
moinmoin666
Newbie
|
|
Registriert seit: Mar 2007
Beiträge: 65
|
|
Danekschön euch allen hab es super und immer centriert hin bekommen, damit ihr auch was davon habt, poste ich noch mal den Code von der nild.php
PHP-Code:
<?php
include "include/secret.php";
$image = $_GET["poster"];
if ((substr("$image", -3) == "jpg") or (substr("$image", -4) == "jpeg"))
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$text_winkel = 0;
$size = getimagesize ("$image");
$text_size = ($size[0] / 18);
$textpos_top = $size[1] - 10;
$textpos_left = ($size[0] - ($size[0] / 1.07));
$im = imagecreatefromjpeg($image);
$white = ImageColorAllocate ($im, 255, 240, 15);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/jpeg");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
else
if (substr("$image", -3) == "gif")
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$text_winkel = 0;
$size = getimagesize ("$image");
$text_size = ($size[0] / 18);
$textpos_top = $size[1] - 10;
$textpos_left = ($size[0] - ($size[0] / 1.07));
$im = imagecreatefromgif($image);
$white = ImageColorAllocate ($im, 255, 240, 15);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/gif");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
else
if (substr("$image", -3) == "png")
{
$fontpath = "arial.ttf";
$text = "Meineseite!";
$text_winkel = 0;
$size = getimagesize ("$image");
$text_size = ($size[0] / 18);
$textpos_top = $size[1] - 10;
$textpos_left = ($size[0] - ($size[0] / 1.07));
$im = imagecreatefrompng($image);
$white = ImageColorAllocate ($im, 255, 240, 15);
ImageTTFText($im,$text_size,$text_winkel,$textpos_left,$textpos_top,$white,$fontpath,$text);
header ("Content-type: image/png");
Imagejpeg($im,'',100);
ImageDestroy ($im);
}
?>
Funktioniert echt super!
Für anregungen und verbsserungen bin natürlich immer offen.
Es funktioniert natürlich auch mit Bildern die auf Imagehack oder sonst wo verlinkt sind
Geändert von moinmoin666 (16-06-2007 um 16:23 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|