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 REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
php设计模式 State (状态模式)
Jun 26 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
教你php如何实现验证码
Jan 20 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
php实现生成验证码实例分享
Apr 10 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
Yii2.0建立公共方法简单示例
Jan 29 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 中英文语言转换类代码
2011/08/11 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
用python代码做configure文件
2014/07/20 Python
python查询mysql中文乱码问题
2014/11/09 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
python处理大数字的方法
2015/05/27 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python Logging 日志记录入门学习
2018/06/02 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
高中生毕业自我鉴定范文
2013/12/22 职场文书
公司门卫管理制度
2014/02/01 职场文书
通用自荐信范文
2014/03/14 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
申报材料格式
2014/12/30 职场文书
财务统计员岗位职责
2015/04/14 职场文书
爱心捐书倡议书
2015/04/27 职场文书
宣传委员竞选稿
2015/11/19 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
利用Python实现模拟登录知乎
2022/05/25 Python