PHP如何将图片转换为TXT存储?今天在用PHP写一个小插件的时候,遇到了一个小小的问题,就是需要将图片转换为TXT文本的内容。简单的说就是将图片转换为ASCII码,下面把代码分享给大家。希望对大家有所帮助。
PHP 实现的将图片转换为TXT
<?php // 打开一幅图像 $file_name='d:\ascii_dora.png'; $chars = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. "; function getimgchars($color_tran,$chars){ $length = strlen($chars); $alpha=$color_tran['alpha']; $r=$color_tran['red']; $g=$color_tran['green']; $b=$color_tran['blue']; $gray = intval(0.2126 * $r + 0.7152 * $g + 0.0722 * $b); if($gray==0){ return '.'; } if($gray<196){ $unit = (256.0 + 1)/$length; return $chars[intval($gray/$unit)]; } return " "; } function color_img($color_tran,$chars){ $length = strlen($chars); $alpha=$color_tran['alpha']; $r=$color_tran['red']; $g=$color_tran['green']; $b=$color_tran['blue']; $gray = intval(0.2126 * $r + 0.7152 * $g + 0.0722 * $b); $rand=rand (0, $length-1); $color="rgb(".$r.",".$g.",".$b.")"; $char=$chars[$rand]; return '<span style="color:'.$color.'" >'.$char."</span>";; } function resize_img($file_name,$chars,$flage=true){ //header('Content-Type: image/jpeg'); list($width, $height,$type) = getimagesize($file_name); $fun='imagecreatefrom' . image_type_to_extension($type, false); if($type==3){ $flage=false; } $fun($file_name); $new_height =100; $percent=$height/$new_height; $new_width=$width/$percent; $image_p = imagecreatetruecolor($new_width, $new_height); $image = $fun($file_name); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); if($flage){ return $image_p; }else{ return $image; } } $im=resize_img($file_name,$chars); $width=imagesx($im); $height=imagesy($im); $back_text=""; for($i=1;$i<=$height;$i++){ for($j=1;$j<=$width;$j++){ $color_index = imagecolorat($im, $j-1, $i-1); $color_tran = imagecolorsforindex($im, $color_index); $back_text.=color_img($color_tran,$chars,false); } $back_text.="<br/>"; } echo "<pre class="brush:php;toolbar:false">"; echo $back_text; echo ""; //file_put_contents('1.txt',$back_text);
相关推荐:
以上是详解PHP如何将图片转换为TXT存储的详细内容。更多信息请关注PHP中文网其他相关文章!