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中文網其他相關文章!