Today, when I wrote a small plug-in using PHP, I encountered a small problem, that is, converting the image into TXT text. To put it simply, convert the image into an ASCII code, and share the code below.
Today, when I wrote a small plug-in using PHP, I encountered a small problem, that is, converting the image into TXT text. To put it simply, convert the image into an ASCII code, and share the code below.
PHP converts an image to TXT
<? Php/* October 19, 2015 10:24:59 * // open an image $ file_name = 'd: \ ascii_dora.png '; $ chars = "$ @ B % 8 & WM # * oahkbdpqwmzo0qlcjuyxzcvunxjwft/\ | () 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 ''. $ char. "";} 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. ="
";} Echo"
";echo $back_text;echo "
"; // File_put_contents('1.txt ', $ back_text );
,