kostenloser Webspace werbefrei: lima-city


Bild to Ascii

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    Ich verwende diesen Script um Bilder in Ascii umwandeln:
    <style type="text/css"> 
    font {font-size: 15px} 
    </style> 
    
    <?php 
       function img_to_ascii($image, $chr) { 
          $infos = getimagesize($image); 
          if($infos[2] == 2) { 
             $img = imagecreatefromjpeg($image); 
          }  
          elseif($infos[2] == 3) { 
             $img = imagecreatefrompng($image); 
          } 
          for($y=0; $y<$infos[1]; $y++) { 
             for($x=0; $x<$infos[0]; $x++) { 
                $col_tmp = imagecolorat($img, $x, $y); 
                $rgb = imagecolorsforindex($img, $col_tmp); 
                $str = "<font color=\"#%02x%02x%02x\">".$chr."</font>"; 
                printf($str, $rgb['red'],$rgb['green'],$rgb['blue']); 
             } 
             echo "<br />"; 
          } 
          imagedestroy($img); 
       } 
       img_to_ascii("http://localhost/chriss.png", "<b>&copy;</b>"); 
    ?>


    Das geht auch Wunderbar!
    Ich möchte aber wenn das Bild weiße Stellen hat kein &copy; setzen sondern eine Lehrstelle.
    Wie kann ich das realisieren? Wäre echt cool wenn ihr mir Hefen könntet
    LG
    Christian
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. ich hab das mal eben schnell umgebaut...
    so sollte es funktionieren

    <style type="text/css"> 
    font {font-size: 15px;} 
    </style> 
    
    <?php 
       function img_to_ascii($image, $chr) { 
          $infos = getimagesize($image); 
          if($infos[2] == 2) { 
             $img = imagecreatefromjpeg($image); 
          }  
          elseif($infos[2] == 3) { 
             $img = imagecreatefrompng($image); 
          } 
          for($y=0; $y<$infos[1]; $y++) { 
             for($x=0; $x<$infos[0]; $x++) { 
                $col_tmp = imagecolorat($img, $x, $y); 
                $rgb = imagecolorsforindex($img, $col_tmp); 
    
    			$tmp = $chr;
    			
    			if($rgb['red']*$rgb['green']*$rgb['blue'] == 16581375)
    			{
    				$tmp = "&nbsp;";
    			}
                $str = "<font color=\"#%02x%02x%02x\">".$tmp."</font>"; 
               printf($str, $rgb['red'],$rgb['green'],$rgb['blue']); 
             } 
             echo "<br>\n"; 
          } 
          imagedestroy($img); 
       } 
       img_to_ascii("http://localhost/bild.png", "<b>&copy;</b>"); 
    ?>


    edit:
    allerdings musst du für ein ersatzzeichen wählen, dass gleich breit ist wie ein leerzeichen, sonst verzieht sich das alles

    Beitrag zuletzt geändert: 31.1.2010 12:00:56 von syberpsace
  4. 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!