kostenloser Webspace werbefrei: lima-city


Bildverarbeitung (ASCII)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,:wave:
    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&ouml;&szlig;e des Bildes (Empfohlen: 300 f&uuml;r Gute Qualit&auml;t, sonst 50)<br />
        <select name="bgcolor">
            <option value="white">Wei&szlig;</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&ouml;&szlig;e 1zu1 &uuml;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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Könntest du uns noch die index2 Datei geben?

    Denn die entscheidet ja alles.

    Also einen Download-Button usw.

  4. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  5. 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
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!