Wie konvertiert man Bilder in PHP in den TXT-Speicher? Als ich heute ein kleines Plugin in PHP schrieb, bin ich auf ein kleines Problem gestoßen, nämlich dass ich Bilder in TXT-Textinhalte konvertieren muss. Vereinfacht ausgedrückt geht es darum, das Bild in ASCII-Code umzuwandeln. Ich werde den Code unten mit Ihnen teilen. Ich hoffe, es hilft allen.
Bild in TXT konvertieren, implementiert durch PHP
<?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);
Verwandte Empfehlungen:
Detaillierte Erläuterung der zu ändernden PHP-Funktion Dateiberechtigungen chmod
Detaillierte Erklärung, wie PHP schnell Millionen von Daten sortieren kann
Detaillierte Erklärung zur Implementierung des Hook-Mechanismus in PHP
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP Bilder in TXT-Speicher konvertiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!