PHP 实现的将图片转换为TXT


Posted in PHP onOctober 21, 2015

PHP 实现的将图片转换为TXT

<?php
/*
2015年10月19日10:24:59

*/
// 打开一幅图像

$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>";
echo $back_text;
echo "</pre>";
//file_put_contents('1.txt',$back_text);
PHP 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
WHOIS类的修改版
Oct 09 PHP
PHP 数字左侧自动补0
Mar 31 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP实现清除wordpress里恶意代码
Oct 21 #PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 #PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 #PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 #PHP
php限制文件下载速度的代码
Oct 20 #PHP
php获取远程文件大小
Oct 20 #PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 #PHP
You might like
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
jQuery提示效果代码分享
2014/11/20 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
利用Python开发微信支付的注意事项
2016/08/19 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
Python进程间通信之共享内存详解
2017/10/30 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
python 三元运算符使用解析
2019/09/16 Python
python实现拼图小游戏
2020/02/22 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
软件部经理岗位职责范本
2014/02/25 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
2014年外联部工作总结
2014/11/17 职场文书
2015年教研组工作总结
2015/05/04 职场文书
使用refresh_token实现无感刷新页面
2022/04/26 Javascript