<?php
// 打开一幅图像
$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 class="
brush:php;toolbar:false
">"
;
echo
$back_text
;
echo
"