十六进制到PHP中的图像

时间:2013-09-20 15:59:38

标签: php image cakephp webforms fpdf

从十六进制数创建图像的其他任何方法? 我使用签名板来获取签名并将其保存为图像并放入PDF中; 我已经从十六进制代码创建了图像(* .PNG)(签名板生成了十六进制数);图像似乎很好(我可以打开它看到它!),但由于某种原因,这个图像无法通过FPDF放入PDF中;但是我可以使用FPDF将任何其他图像放到我的PDF中;所以我猜我创建的图像有问题(HEX to Image)。我通过以下代码创建了我的图像:

$binary = pack("H*", $MyHex);
file_put_contents("../img/Sign_Representative.png", $binary);

您是否知道我可以通过HEX创建图像的任何其他方式或我可以处理此问题的任何方式?

感谢您的指导!

1 个答案:

答案 0 :(得分:1)

你确定签名板在HEX中提供PNG数据吗?

如果第一行包含字母“PNG”(不含引号),请检查生成的文件内容。

尝试正确地追踪你的并关注所有数据:

// test 1
$binary = pack("H" . strlen($MyHex), $MyHex);
file_put_contents("../img/Sign_Representative-1.png", $binary);

// test 2
$binary = hextobin($MyHex);
file_put_contents("../img/Sign_Representative-2.png", $binary);
// @src http://www.php.net/manual/en/function.hex2bin.php#110973
function hextobin($hexstr)  
    { 
        $n = strlen($hexstr); 
        $sbin="";   
        $i=0; 
        while($i < $n) {       
        $a =substr($hexstr,$i,2);           
            $c = pack("H*",$a); 
            if ($i == 0) {
                $sbin = $c;
            } else {
                $sbin .= $c;
            } 
            $i += 2; 
        } 
        return $sbin; 
    }
顺便问一下,你有什么样的/型号签名板?即霍尼韦尔TT8500?