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 相关文章推荐
PHP文件下载类
Dec 06 PHP
php mysql数据库操作类
Jun 04 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
PHP实现变色验证码实例
Jan 06 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
cakephp常见知识点汇总
Feb 24 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
PHP获取星期几的常用方法小结
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实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
php字符串函数学习之substr()
2015/03/27 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
Python优先队列实现方法示例
2017/09/21 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python实现自动化上线脚本的示例
2019/07/01 Python
python同时替换多个字符串方法示例
2019/09/17 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
python基于win32api实现键盘输入
2020/12/09 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
中文专业学生自我评价范文
2014/02/06 职场文书
审计专业自荐信范文
2014/04/21 职场文书
服务之星事迹材料
2014/05/03 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
故意杀人案辩护词
2015/05/21 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS