0

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

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

你知道我可以从 HEX 创建图像的任何其他方式或我可以处理这个问题的任何方式吗?

感谢您的指导!

4

1 回答 1

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?

于 2013-09-20T20:48:17.560 回答