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
第八节--访问方式
Nov 16 PHP
php date()日期时间函数详解
May 16 PHP
让PHP显示Facebook的粉丝数量方法
Jan 08 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
yii操作cookie实例简介
Jul 09 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 PHP
PHP实现简单的计算器
Aug 28 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
一个多文件上传的例子(原创)
2006/10/09 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
python中round函数保留两位小数的方法
2020/12/04 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
文员个人求职自荐信
2013/09/21 职场文书
大四本科生的自我评价
2013/12/30 职场文书
元旦晚会活动总结
2014/07/09 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
学习退步检讨书
2014/09/28 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
入党积极分子个人总结
2015/03/02 职场文书
个人催款函范文
2015/06/24 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL