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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP生成静态页面详解
Dec 05 PHP
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
mayfish 数据入库验证代码
Apr 30 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
php常用Stream函数集介绍
Jun 24 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 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
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
php对称加密算法示例
2014/05/07 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
js实现表格筛选功能
2017/01/18 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
微信小程序select下拉框实现效果
2019/05/15 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python实现学员管理系统
2019/02/26 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
学习交流会主持词
2014/04/01 职场文书
教师考察材料范文
2014/06/03 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书