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 相关文章推荐
UCenter 批量添加用户的php代码
Jul 17 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
PHP中if和or运行效率对比
Dec 12 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
php接口技术实例详解
Dec 07 PHP
php微信公众号开发之秒杀
Oct 20 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
laravel按天、按小时,查询数据的实例
Oct 09 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 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
php之可变函数的实例详解
2017/09/13 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
python 读写、创建 文件的方法(必看)
2016/09/12 Python
Python检测网络延迟的代码
2018/05/15 Python
Python日志模块logging基本用法分析
2018/08/23 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
一道Delphi面试题
2016/10/28 面试题
支教自我鉴定
2014/01/18 职场文书
新员工入职感言
2014/02/01 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
数学教师个人工作总结
2015/02/06 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python