Hamukau (06.02.12)
Hallo,
ich weiß nicht wonach ich googlen soll:
Ich hätte gerne ein Online Script, das viele Bilder zu einem macht.
Also eigentlich hätte ich gerne eine Kopie hiervon: [Um Links zu sehen registriere dich bitte. Klicke hier.]
Die einzelnen Bilder kann ich mir selber holen, das einzige was ich brauche
wäre ein Start bzw eine Starthilfe die ich weiter führen kann.
lg
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Bilder mit PHP zusammenfügen (Montieren) ? D:
ja, so wie bei dem beispiel oben, da kann man am ende der browserleiste n wort eingeben und dann spuckt der das als ganzes bild raus ^^
bzw. ich google heut nachmittag mal php moniteren ;)
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Ich habe irgendwo mal so ein Script gesehen. Ich schaue jetzt nach und poste (bzw. editiere) dann wahrscheinlich noch einmal, wenn ich von der Schule zürück komme.
Kannst aber schon mal php imagecreate oder php Bilder erzeugen googlen da findest du schon einmal viele Beispiele, wie man Bilder erstellt.
Hier mal ein Beispiel wie es aussehen könnte :
PHP-Code:<?php
$filetype_allowed = array("jpg","jpeg","png"); //<-- Erlaubte Endungen der Bilder. Gross und Kleinschreibung wird NICHT beachtet
$imgpath = "http://www.mmorpg-core.com/forum/images/"; //<-- Achtung am ende ein / setzten
header("Content-type: image/jpeg");
foreach(glob($imgpath."*.*") as $imga) {
list($filename, $filetype) = explode(".",basename($imga));
if(in_array(strtolower($filetype),$filetype_allowed)) {
if(!isset($imtotal)) {
if(strtolower($filetype) == "jpg" || strtolower($filetype) == "jpeg") {
$imtotal = ImageCreateFromJPEG($imgpath.basename($imga));
}
if(strtolower($filetype) == "png") {
$imtotal = ImageCreateFromPNG($imgpath.basename($imga));
}
} else {
if(strtolower($filetype) == "jpg" || strtolower($filetype) == "jpeg") {
$im = ImageCreateFromJPEG($imgpath.basename($imga));
}
if(strtolower($filetype) == "png") {
$im = ImageCreateFromPNG($imgpath.basename($imga));
}
$width = max(imagesx($im),imagesx($imtotal));
$height = imagesy($im)+imagesy($imtotal);
$immix = ImageCreate($width,$height);
imagecopy($immix, $imtotal, 0, 0, 0, 0, imagesx($imtotal), imagesy($imtotal));
imagecopy($immix, $im, 0, imagesy($imtotal), 0, 0, imagesx($im), imagesy($im));
imagedestroy($imtotal);
$imtotal = ImageCreate(imagesx($immix), imagesy($immix));
imagecopy($imtotal, $immix, 0, 0, 0, 0, imagesx($immix), imagesy($immix));
imagedestroy($immix);
imagedestroy($im);
}
}
}
imagejpeg($imtotal);
imagedestroy($imtotal);
?>
Mit freundlichem Gruß
Hamukau (06.02.12)
eigentlich blicke ich das script meines vorposters, allerdings ist bei mir noch die frage offen, wie/wo ich den namen des neuen Wortes eingebe :x
lg
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Also so wie ich es hier gelesen habe , ging es darum mehrere Bilder aneinander zu hängen. Das Script oben macht dieses in dem es immer ein Bild unten anhängt beim auslesen eines Ordners.
Falls was anderes gewünscht war/wird eben kurz hier schrieben.
Mit freundlichem Gruß
Eig. will ich ja eine Kopie hiervon:
[Um Links zu sehen registriere dich bitte. Klicke hier.]
ich kann jetzt am ende des links den text verändern ^ zb. mmorpgcore
[Um Links zu sehen registriere dich bitte. Klicke hier.]papaharni
^ papaharni, dh. er erstellt mir ein komplett neues bild
lg
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Meinst du vllt. Imagestring?
So was ich dir noch anbieten könnte wäre dies :
PHP-Code:<?php
header ("Content-type: image/png");
$text = $_GET['m'];
$fsize = '100'; //<-- Font size.
$ffile = "./Blade2.ttf"; //<-- Nicht vergessen eine ttf datei zu verlinken
$bgcolor = array('0','0','0'); //<-- RGB Farbe für den Hintergrund
$color = array('255','255','255'); //<-- RGB Farbe für die Schrift
$bbox = imageftbbox($fsize, 0, $ffile, $text);
$height = str_replace("-", "", $bbox[5]);
$im = imagecreate ($bbox[4]+10,$height+10);
$bg_color = ImageColorAllocate ($im, $bgcolor[0], $bgcolor[1], $bgcolor[2]);
$fcolor = ImageColorAllocate ($im, $color[0], $color[1], $color[2]);
imagefill($im, 0, 0, $bg_color);
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 2;
$y = $bbox[1] + (imagesy($im) / 2) - 2;
imagefttext($im, $fsize, 0, $x, $y, $fcolor, $ffile, $text);
ImagePNG ($im);
imagedestroy($im);
?>
Mit freundlichem Gruß
Und ist es so gedacht?
Mit freundlichem Gruß
Muss die Font installiert sein oder in einem Ornder liegen ?
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Oh es meldet sich. ^^
In einem Ordner ebenfalls auf dem Server in der reichweite des Scriptes.
Mit freundlichem Gruß
Habe das letzte Script hier nochmal etwas überarbeitet. Nun kann man mit /n im Text auch eine Zeile runter springen.
Die Fonts werden im Ordner fonts hinterlegt. Da wo das Script liegt dort muss auch ein Ordner namens fonts sein mit den fonts drin die verfügbar sein sollen.
Im Script gibt es ein array wo alle Fonts die Ihr so im fonts Ordner drin habt , verwendet werden können.
Das Script kann folgendermassen aufgerufen werden :
meineDomain.de/dasScript.php
Folgende Parameter sind verfügbar :
s=Font grösse (optional)
f=Font Zahl (beginnend bei 0) Je mehr Fonts angegeben desto höher kann die Zahl sein. Gezählt wird ab 0 im Script bei den Fonts (optional)
m=Die Nachricht welche angezeigt werden soll ( mit /n wird eine neue Zeile begonnen )
Am ende könnte euer Link so aussehen :
Code:meineDomain.de/dasScript.php?s=50&f=3&m=Mein persoenlicher text\nsteht hier herum
PHP-Code:<?php
$defsize = '75'; //<-- Default Grösse wenn keine angegeben ist per s=neue grösse
$allfonts = array("Blade2.ttf","Rocky.ttf","Bloodrac.ttf"); //<-- Alle Fonts die Ihr verfügbar gemacht habt im fonts Ordner. Die erste ist die Default wenn keine angegeben.
$bgcolor = array('0','0','0'); //<-- RGB Farbe für den Hintergrund
$color = array('255','255','255'); //<-- RGB Farbe für die Schrift
$text = $_GET['m'];
if(empty($text) || !isset($text)) {
$text = "Der Text wurde vergessen anzugeben.";
}
if(isset($_GET['s'])) {
$fsize = $_GET['s'];
} else {
$fsize = $defsize;
}
if(isset($_GET['f']) && is_numeric($_GET['f']) && $_GET['f'] < count($allfonts)) {
$ffile = "./fonts/".$allfonts[$_GET['f']];
} else {
$ffile = "./fonts/".$allfonts[0];
}
$newtext = explode("\\n",$text);
foreach ($newtext as $curtext) {
$bbox = imageftbbox($fsize, 0, $ffile, $curtext);
$height = str_replace("-", "", $bbox[5]);
if(isset($mainim)) {
$im = imagecreate ($bbox[4]+10,$height+20);
$bg_color = ImageColorAllocate ($im, $bgcolor[0], $bgcolor[1], $bgcolor[2]);
$fcolor = ImageColorAllocate ($im, $color[0], $color[1], $color[2]);
imagefill($im, 0, 0, $bg_color);
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 2 + 10;
$y = $bbox[1] + (imagesy($im) / 2) - 2 + 15;
imagefttext($im, $fsize, 0, $x, $y, $fcolor, $ffile, $curtext);
$im_temp = imagecreate(max(imagesx($mainim),imagesx($im)),imagesy($mainim)+imagesy($im));
$mainx = (max(imagesx($mainim),imagesx($im_temp))-min(imagesx($mainim),imagesx($im_temp)))/2;
$newx = (max(imagesx($im),imagesx($im_temp))-min(imagesx($im),imagesx($im_temp)))/2;
imagecopy($im_temp, $mainim, $mainx, 0, 0, 0, imagesx($mainim), imagesy($mainim));
imagecopy($im_temp, $im, $newx, imagesy($mainim), 0, 0, imagesx($im), imagesy($im));
imagedestroy($mainim);
$mainim = ImageCreate(imagesx($im_temp), imagesy($im_temp)+5);
imagecopy($mainim, $im_temp, 0, 0, 0, 0, imagesx($im_temp), imagesy($im_temp));
imagedestroy($im);
imagedestroy($im_temp);
} else {
$mainim = imagecreate ($bbox[4]+10,$height+20);
$bg_color = ImageColorAllocate ($mainim, $bgcolor[0], $bgcolor[1], $bgcolor[2]);
$fcolor = ImageColorAllocate ($mainim, $color[0], $color[1], $color[2]);
imagefill($mainim, 0, 0, $bg_color);
$x = $bbox[0] + (imagesx($mainim) / 2) - ($bbox[4] / 2) - 2 + 5;
$y = $bbox[1] + (imagesy($mainim) / 2) - 2 + 5;
imagefttext($mainim, $fsize, 0, $x, $y, $fcolor, $ffile, $curtext);
}
}
header ("Content-type: image/png");
ImagePNG ($mainim);
imagedestroy($mainim);
?>
Geändert von PapaHarni (13.02.12 um 04:51 Uhr)
Mit freundlichem Gruß
Hamukau (12.02.12)
Das ist wunderbar, danke.
Jetzt muss ich nur noch eine Teeworlds font finden, oder gucken wie man selber welche erstellt ^^
Mit 3,740 Benutzern waren die meisten Benutzer gleichzeitig online (24.12.11 um 20:43 Uhr).LOL
Lesezeichen