Php Bild erstellen mit Zeilenumbruch

Fragen zu allen anderen Programmiersprachen.
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Php Bild erstellen mit Zeilenumbruch

Beitrag von pyromane »

Guten Mittag,

mich hät grad ein kleines Problem aus. Ich wollte mit Php ein Bild erzeugen welches dann mittels:

Code: Alles auswählen

<img src="test.php?text=Hallo,<br>Liebe PureBoard Gemeinde"> 
aufgerunfen werden kann. An sich auch kein Problem. Mit macht nur der Zeilenumbruch Probleme. Ich krieg es nicht hin das dort ein Zeilenumbruch entsteht.

Ich hoffe ihr habt da eine Idee oder vielleicht sogar ein Beispiel.

Danke sagt pyromane.
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Php Bild erstellen mit Zeilenumbruch

Beitrag von STARGÅTE »

Es wäre nett wenn du uns deinen php-Code zeigst, denn sonst wissen wir ja garnicht wie du das Bild erzeugst ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Re: Php Bild erstellen mit Zeilenumbruch

Beitrag von pyromane »

Code: Alles auswählen

$_GET['text'] = urldecode(base64_decode($_GET['text']));
$textnr = 4;
$textbreite = imagefontwidth($textnr) * strlen($_GET['text']);
$texthoehe  = imagefontheight($textnr);
$img = imagecreate($textbreite,$texthoehe); 
$bg = imagecolorallocate($img,0,20,0); 
$white = imagecolorallocate($img,255,255,255); 
imagestring($img,4,0,0,$_GET['text'],$white); 
header("Content-Type: image/gif"); 
imagegif($img);

die();
Aufruf Bsp.:

Code: Alles auswählen

<img src='include/draw_pic.php?text=".urlencode(base64_encode('ICQ: 123456789'))."'><br><br>
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Php Bild erstellen mit Zeilenumbruch

Beitrag von STARGÅTE »

Gut, da imagestring() vermutlich nicht mit einem Zeilenumbruch arbeiten kann,
musst du dir selbst ein Zeichen aussuchen (zb \n), welches du als Trennzeichen nutzt.

Dann zerlegst du deine Zeichenkette mit
$Zeilen = explode("\n",$_GET['text']);

und kannst dann die einzelnen Zeilen in dein Bild schreiben:
foreach($Zeilen as $Nr=>$Text)
{
imagestring($img,4,0,$Nr*20,$Text,$white);
}

Die Zeilenhöhe musst du ggf. dann noch bestimmen ... was hier als $Nr*20 angegeben ist.

Ein Beispiel dazu findest du auch in der PHP-Hilfe im Internet:
Same function as above but it can display multi-line strings.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Re: Php Bild erstellen mit Zeilenumbruch

Beitrag von pyromane »

Dankeschön. Das klappt super.
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Antworten