PHP GD image to text


 

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

Ads