Конвертация изображения в 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);



Просмотров: 2001
15.08.2015, 21:23 -

Категория: Статьи » Программирование » PHP