Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将GD图像对象传递给Imagick?_Php_Gd_Pear_Imagick - Fatal编程技术网

Php 是否将GD图像对象传递给Imagick?

Php 是否将GD图像对象传递给Imagick?,php,gd,pear,imagick,Php,Gd,Pear,Imagick,我正在用PEAR::Image\u条形码生成一个条形码,它使用GD,但我需要将该条形码写入PDF的一部分,PHP/Imagick似乎是最简单的方法,有没有办法将GD图像对象转换为Imagick可以使用的东西?Imagick有内部图像创建功能。使用条形码字体,您可以直接在ImageMagick中创建条形码。我想ImageMagick在构建图像方面比PHP更有效。对此不确定(imageimagick的PDF函数有时出乎意料),但是,作为额外的奖励,您可能最终使用矢量输出而不是位图,这将占用更多空间,

我正在用PEAR::Image\u条形码生成一个条形码,它使用GD,但我需要将该条形码写入PDF的一部分,PHP/Imagick似乎是最简单的方法,有没有办法将GD图像对象转换为Imagick可以使用的东西?

Imagick有内部图像创建功能。使用条形码字体,您可以直接在ImageMagick中创建条形码。我想ImageMagick在构建图像方面比PHP更有效。对此不确定(imageimagick的PDF函数有时出乎意料),但是,作为额外的奖励,您可能最终使用矢量输出而不是位图,这将占用更多空间,并且无法很好地缩放。

我们开始:

ob_start();
 Image_Barcode::draw($barcode, 'upca', 'gif');
 $couponBarcode = ob_get_contents();
ob_end_clean();

$second = new Imagick(); 
$second->readImageBlob($couponBarcode)

它是用GD将图像写入一个对象,然后将该变量读入一个Imagick对象

这是用于大量使用并希望缩放的吗?您可以尝试保存GD图像并将其重新加载到Imagick中,而不是我知道的优雅解决方案。这是针对40k+项目的,这会破坏服务器…是的,因此我的问题是,所有这些保存和重新加载都不是一个好的解决方案。至于将GD图像对象移动到Imagick中,我从未尝试过,也不知道有什么方法。对不起,我没有使用过它,但我注意到有“readImageBlob”和可怜的文档。I()和这个()链接显示了一种可能的用法。它从一个文件中读取,但我想可能会尝试捕获GD函数(如ImageJPEG)的输出。在您的情况下,这不是很慢吗?使用JPEG不会提高速度,除非您在一个步骤中创建,除非您停止将数据传输到另一个应用程序并仅在PHP中创建JPEG。+1这样更好。。。但是我得想更多的事情,我没有时间。。。下一个版本我肯定会用这个。