Конвертация изображения в HEX на PHP
Пример конвертации:
$image = imageCreateFromJpeg("Image.jpg");
$size = getimagesize("Image.jpg");
error_reporting(0);
function fromRGB($R, $G, $B){
$R=dechex($R);
$G=dechex($G);
$B=dechex($B);
if (strlen($R)<2) $R='0'.$R;
if (strlen($G)<2) $G='0'.$G;
if (strlen($B)<2) $B='0'.$B;
return '#' . $R . $G . $B;
}
function fromBIN($R, $G, $B){
$R=decbin($R);
$G=decbin($G);
$B=decbin($B);
if (strlen($R)<2) $R='0'.$R;
if (strlen($G)<2) $G='0'.$G;
if (strlen($B)<2) $B='0'.$B;
return "#".$R."#".$G."#".$B;
}
echo "Height: ".$size[1]."<br>";
echo "Width: ".$size[0]."<br>";
$txt = "";
$cc = 0;
$row = 20;
for ($i = 1; $i<=$size[0]; $i++) {
for ($j = 1; $j<=$size[1]; $j++) {
$color = imagecolorat($image, $i, $j);
$r = ($color >> 16) & 0xFF;
$g = ($color >> 8) & 0xFF;
$b = $color & 0xFF;
if ($cc < $row) {
$hex .= fromRGB($r, $g, $b);
$bin .= fromBIN($r, $g, $b);
} elseif ($cc == $row) {
$hex .= "\n";
$hex .= fromRGB($r, $g, $b);
$bin .= "\n";
$bin .= fromBIN($r, $g, $b);
$cc = 0;
}
$cc++;
}
}
file_put_contents("hex.txt", "");
$fp = fopen("hex.txt", "a");
$test = fwrite($fp, $hex);
file_put_contents("bin.txt", "");
$fp = fopen("bin.txt", "a");
$test = fwrite($fp, $bin);
echo "<img src='/Image.jpg'><br><br><a href='/hex.txt'>Convert TXT to HEX</a> / <a href='/bin.txt'>Convert TXT to BIN</a>";
fclose($fp);
imageDestroy($image);
15.08.2015, 21:23 -
Категория: Статьи » Программирование » PHP