用PHP代碼,能夠將gif格式的圖像轉換成具備ASCII字符風格化的png圖像,頗有意思,和你們分享一下效果:php
原圖:html
生成後效果
code
源代碼以下:htm
<?php $txt =array('A','B','C','D','E','F','G','H','I','J','K'); //加載原始圖像 $rawImage = ImageCreateFromGIF('test.gif'); //獲取原始圖像寬高 $rawImgWidth = ImagesX($rawImage); $rawImgHeigh = ImagesY($rawImage); //獲取原始圖像灰度 $grayData = getGrayData($rawImage,$rawImgWidth,$rawImgHeigh); //銷燬圖像 ImageDestroy($rawImage); //建立文字圖像 $txtImage = ImageCreate($rawImgWidth*6,$rawImgHeigh*9); //新圖像背景色 imagecolorallocate($txtImage,0,0,0); //獲取最大灰度 for($i=0;$i<count($grayData);$i++){ $maxGrayArray[$i] = max($grayData[$i]); } $maxGray = max($maxGrayArray); //設置灰度對應顏色 for($i=0;$i<$maxGray+1;$i++){ $color = 255-round(200/$maxGray)*$i+55; $gray[$i] = imagecolorallocate($txtImage,$color,$color,$color); } //繪製字符 for($y=0;$y<$rawImgHeigh;$y++){ for($x=0;$x<$rawImgWidth;$x++){ Imagechar($txtImage,1,$x*6,$y*9,$txt[rand(0,10)],$gray[$grayData[$x][$y]]); } } //建立最終圖像 $Image = ImageCreate($rawImgWidth*10,$rawImgHeigh*10); //拉伸圖像 imagecopyresampled($Image, $txtImage, 0, 0, 0, 0,$rawImgWidth*10,$rawImgHeigh*10,$rawImgWidth*6,$rawImgHeigh*9); //定義文件頭 header('Content-type: image/png'); //輸出圖像 ImagePNG($Image); //銷燬圖像 ImageDestroy($Image); /* 獲取灰度值 */ }
原文連接:http://www.ldsun.com/656.html 圖片
演示地址:http://a.ldsun.com/get