使用PHP保存流畅的jSignature图像?

时间:2013-11-22 03:43:29

标签: javascript php image vector svg

我需要提交要转换为图像的签名数据。我正在使用jSignature来捕获签名,并将base30数据提交给服务器。在服务器上,我使用their PHP script转换数据并将其保存到png。问题是,图像根本不光滑。导出为SVG会产生非常流畅的线条,但将数据直接导出到PNG会使其如下图所示。这是一个关于这个问题的小图片,但如果你打开它,你可以看到它的质量远远低于SVG导出提供的平滑线条。

有没有办法将图像导出到PNG以使其平滑?或者以某种方式将SVG转换为PNG?我认为这必须在没有Imagick的情况下完成。

enter image description here

        $signature = new jSignature_Tools_Base30();
        $sig_a = $signature->Base64ToNative($user_signature);
                    //$user_signature is the base30 data
        $sig_im = imagecreatetruecolor(1295, 328);
        imagesavealpha($sig_im, true);
        $sig_trans_colour = imagecolorallocatealpha($sig_im, 0, 0, 0, 127);
        imagefill($sig_im, 0, 0, $sig_trans_colour);
        imagesetthickness($sig_im, 5);

        $sig_black = imagecolorallocate($im, 0, 0, 0);

        for ($i = 0; $i<count($a); $i++) {
            for ($j = 0; $j<count($a[$i]['x']); $j++) {
                if ( ! isset($a[$i]['x'][$j]) or ! isset($a[$i]['x'][$j+1])) break;
                imageline($im, $a[$i]['x'][$j], $a[$i]['y'][$j], $a[$i]['x'][$j+1], $a[$i]['y'][$j+1], $black);
            }
        }

        //Then I use imagepng() to export

0 个答案:

没有答案