Bildverarbeitung (ASCII)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anbieten
ankreuzen
bild
break
button
code
datei
funktion
generierte bild
helfen
hintergrund
http
image
mann
paar
unterschiedliche zeichen
url
zahl
zeichen
zeichensatz
-
Hallo LC,
Ich habe folgenden Script um Bilder in ASCII umzuwandeln:
<?php if(isset($_FILES['bild']) && $_FILES['bild']['error'] == 0) { echo('<body bgcolor="'.$_POST['bgcolor'].'">'); if($_POST['good']) echo('<span style="font-family: 04b_25, Arial Unicode MS, Courier New, sans-serif; font-size: 1px; letter-spacing: 0px; line-height: 1px">'); else echo('<span style="font-family: 04b_25, Arial Unicode MS, Courier New, sans-serif; font-size: 10px; letter-spacing: 0px; line-height: 10px;">'); switch($_POST['charset']) { case 'num': $charsetFrom = ord('0'); $charsetTo = ord('9'); break; case 'at': $charsetFrom = ord('@'); $charsetTo = ord('@'); break; case 'copy': $charsetFrom = ord('©'); $charsetTo = ord('©'); break; case 'onezero': $charsetFrom = ord('0'); $charsetTo = ord('1'); break; } move_uploaded_file($_FILES['bild']['tmp_name'], './imgData'); $mImgSrc = file_get_contents('./imgData'); unlink('./imgData'); $mImgObj = imagecreatefromstring($mImgSrc); if(!$mImgObj) die('Invalid image'); $imgX = imagesx($mImgObj); $imgY = imagesy($mImgObj); // Größe runterrechnen $maxSize = ($_POST['maxsize']); if($imgX > $maxSize) { $imgY = ($maxSize / $imgX * $imgY); $imgX = $maxSize; } if($imgY > $maxSize) { $imgX = ($maxSize / $imgY * $imgX); $imgY = $maxSize; } imagecopyresampled($mImgObj, $mImgObj, 0, 0, 0, 0, $imgX, $imgY, imagesx($mImgObj), imagesy($mImgObj)); for($y=0; $y<$imgY; $y++) { for($x=0; $x<$imgX; $x++) { $mCol = imagecolorat($mImgObj, $x, $y); $rCol = imagecolorsforindex($mImgObj, $mCol); imagecolordeallocate($mImgObj, $mCol); $hCol = sprintf('#%02x%02x%02x', $rCol['red'], $rCol['green'], $rCol['blue']); if($_POST['good']) echo('<font color="'.$hCol.'">0</font>'); else echo('<font color="'.$hCol.'">'.chr(rand($charsetFrom, $charsetTo)).'</font>'); } echo('<br />'); flush(); } echo('</span></body>'); die(); } ?> <form enctype="multipart/form-data" method="post" action="index2.php"> <input type="file" name="bild" /><br /> <input type="text" name="maxsize" value="50" /> Maximale Größe des Bildes (Empfohlen: 300 für Gute Qualität, sonst 50)<br /> <select name="bgcolor"> <option value="white">Weiß</option> <option value="black">Schwarz</option> </select> Hintergrundfarbe<br /> <select name="charset"> <option value="at">At Zeichen</option> <option value="copy">copy Zeichen</option> <option value="num">Zahlen</option> <option value="onezero">Einsen und Nullen</option> </select> Zeichensatz<br /> <input type="checkbox" name="good" value="1" /> Pixelgröße 1zu1 übernehmen<br /> <input type="submit" /> </form>
Jetzt habe ich 3 Probleme:
1) Ich will meinen Usern noch anbieten das das Bild nur Schwarz Weiß ist und somit zwei unterschiedliche Zeichen hat.(Wenn sie es im Formular ankreuzen.)
2) Das Generierte Bild sollen sie runterladen können( wenns möglich ist auch farbig)
3)Ich will in den Uploader noch prüfen ob es wirklich nur Bilder sind die da hochgeladen werden. (PNG,JPEG,JPG)
Wäre euch echt dankbar wenn ihr mir Helfen würdet!
Christian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
julian101 schrieb: Könntest du uns noch die index2 Datei geben?
Denn die entscheidet ja alles.
Also einen Download-Button usw.
Hust Hust das ist schon alles.... (Das ist schon index2.php)
Ich habe bis jetzt nur das Mann ein Bild hochladen kann und ein paar Funktionen wie Hintergrund und so wählen kann.
Beitrag zuletzt geändert: 3.2.2010 19:44:22 von christian1603 -
christian1603 schrieb:
julian101 schrieb: Könntest du uns noch die index2 Datei geben?
Denn die entscheidet ja alles.
Also einen Download-Button usw.
Hust Hust das ist schon alles.... (Das ist schon index2.php)
Ich habe bis jetzt nur das Mann ein Bild hochladen kann und ein paar Funktionen wie Hintergrund und so wählen kann.
Ach so, ich dachte das wäre nicht selbst gebaut, sondern ein Script.
Dann könnte dir dies hier helfen: http://php.net/manual/de/refs.utilspec.image.php -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage