PHP GD image to text
This example shows how to change image to text in php gd.
This example shows how to change image to text in php gd.
<?php
$file =
imagecreatefromjpeg("image1.jpg");
$bw =
0;
$s =
"index";
$dest_x =
40;
$dest_y =
30;
if (imagesx($file)
> $dest_x or
imagesy($file) > $dest_y)
{
if (imagesx($file)
>= imagesy($file))
{
$full_y =
imagesy($file)*($dest_x/imagesx($file));
$full_x =
$dest_x;
}
else {
$full_x =
imagesx($file)*($dest_y/imagesy($file));
$full_y =
$dest_y;
}
}
else {
$full_x =
imagesx($file);
$full_y =
imagesy($file);
}
$image =
imagecreatetruecolor($full_x,
$full_y);
imagecopyresized(
$image,
$file, 0,
0, 0,
0, imagesx($image),
imagesy($image),
imagesx($file),
imagesy($file));
for ($y=0;$y<imagesy($image);$y++)
{
for ($x=0;$x<imagesx($image);$x++)
{
$rgb =
imagecolorat($image,$x,$y);
$r =
($rgb >> 16)
& 0xFF;
$g =
($rgb >> 8)
& 0xFF;
$b =
$rgb & 0xFF;
if ($bw
== 1)
{
$max =
max($r,$g,$b);
0
$grid[$x][$y]
= str_repeat(str_pad(dechex($max),2,"0",STR_PAD_LEFT),3);
}
else {
$grid[$x][$y]
= sprintf("%02X%02X%02X",$r,$g,$b);
1
}
}
}
2
$pHex =
"";
echo "<div
style=\"line-height:0.8em; font-size:8pt; font-family:monospace;
background-color: #000000;\">";
for ($y=0;$y<imagesy($image);$y++)
{
3
for ($x=0;$x<imagesx($image);$x++)
{
if ($grid[$x][$y]
!= $pHex) {
if ($pHex
!= "")
{ echo "</span>";
}
4
echo "<span
style=\"color:#".$grid[$x][$y]."\">";
$pHex =
$grid[$x][$y];
}
5
echo $s[($counter++%strlen($s))];
}
echo "<br>\n";
6
}
echo "</div>";
?>
7
After running the program you will get the following output