草庐IT

php - 如何使用 Imagemagick PHP API 将 .pdf 文件转换为 .png

我想使用ImagemagickphpAPI将.pdf文件转换为.png文件。我们可以在shell中使用这个:$convertsample.pdfsample_image.png我们可以使用phpexec()函数发出此命令,但由于某些原因(安全性)我禁用了使用php执行shell命令。那么现在告诉我如何在不使用phpexec()函数的情况下将我的.pdf文件转换为.png文件的解决方案?关于这个还有另一个讨论here但不是很清楚。 最佳答案 你必须已经安装了php5-imagick$myurl='filename.pdf['.$pag

php - 不使用 ImageMagick 从 SVG XML 创建 PNG

在服务器端我有一个生成的SVGXML源代码。这应该更改为图像,以便从SVGXML代码提供PNG(或JPG)下载。在网上搜索了很长时间,我只找到了使用ImageMagick的解决方案。ConvertSVGimagetoPNGwithPHP但我无权访问ImageMagick库,因此我需要一种不同的方法来将SVGXML代码转换为位图图像。有人有想法吗?Brw:保存svg并在操作系统上执行二进制文件或脚本进行转换不是一个选项。谢谢。 最佳答案 你需要使用batik库。下载它,放在你项目的某个地方。然后在php中使用shell_exec()函

php - 使用 ImageMagick 创建类似 placeit.net 的模型?

我想用ImageMagick合并图像。我试过这段代码:compositefill.pngcover.png-composedst-atop-mattefinal.png但我会做一些类似于placeit.net的事情.是否有ImageMagick功能。能举个例子吗? 最佳答案 这个有用吗?convertbackground.pngoverlay.png-geometry+10+10-compositeresult.png+10+10是表示叠加层距左上角的偏移量的坐标。 关于php-使用Im

php - 使用 PHP magickwand 进行 PNG 压缩

我想知道如何正确压缩PNG图像。情况是这样的:我在Windows上使用Irfanview压缩和减少了颜色的PNG图像。大约20KB。当我的门户软件使用默认值调整大小(使用magickwand1.0.7)时,它约为63K(!)。接下来尝试调用MagickSetImageDepth($this->_imageHandler,8),生成34K的文件大小,这更好,但仍然比(尺寸更大的)原始文件大。记录的函数似乎都不适合进一步压缩图像。任何提示将不胜感激!您好,索萨 最佳答案 PNG压缩程序和例程使用不同的技术。我发现很多次,已经压缩(或有效

php - 重新创建的 png 图像是黑色的

注意:SO已将上述引用图像转换为jpeg。这是transparentPNG.以下是一个示例代码,它在新Canvas上重新创建png图像并保持透明度。如您所见,它还允许像素级操作,例如。使用像custom_func($r,$g,$b)这样的自定义函数,在这个问题的底部有更好的说明。基本上,这段代码重新创建/重绘上面的图像在新的Canvas上成功了。请注意,上图中的天空是完全透明的。$image=imagecreatefrompng('grass.png');$x_dimension=imagesx($image);$y_dimension=imagesy($image);$new_ima

php - PHP 图像中已更改像素的百分比

目前我有一个图像,我正在从中检索背景颜色。我正在使背景颜色透明,然后尝试将其与原始图像进行比较以确定由所述背景颜色组成的图像的百分比。这是我尝试使用的代码:$image=newImagick($file);//Makebgtransparentforcomparison$tpImage=$image->clone();$tpImage->setFormat('png');$tpImage->setImagePage(0,0,0,0);$swatch_pixel=$tpImage->getImagePixelColor(1,1);$tpImage->paintTransparentIma

php - 具有多个变量的 Mod_rewrite

我正在使用一个PHP脚本,该脚本动态生成透明的PNG以用作CSS背景,来自采用RGBa和HSLa值的查询字符串。原脚本可见here,我只添加了HSLa支持。因为带有PHP查询字符串的背景URL不是很漂亮,而且因为它似乎打破了IE6透明PNGhack,我想到使用mod_rewrite允许在调用具有这种语法的.png时调用脚本:/assets/colors/h[0-360value]_s[0-100value]_l[0-100value]_a[0-100value].png这将被重写为:/assets/colors.php?h=[0-360value]&s=[0-100value]&l=[

php - PHP/Apache 中的 Inkscape 不会将字体呈现为 PNG

我今天发现的一个问题与此类似unansweredproblem;虽不尽相同,但原因可能相同。我正在使用inkscape将SVG文件渲染为PNG或PDF。在大多数情况下,我打算使用Gearman在后台呈现这些,但现在我正在PHP/Apache进程中创建一些缩略图。似乎如果在Apache进程内调用inkscape(通过PHP的exec),它找不到需要呈现的字体。因此,图形元素渲染良好,但任何文本元素都不会绘制在PNG输出中。我怀疑Apache内部的CLI环境与我常用的bash控制台不同,这意味着无法看到字体。我在OSX10.6.8上。有什么想法吗?编辑:根据评论,我在Apache和Gear

PHP imagecreatefromjpeg 有效,那么为什么 png/bmp/gif 无效?

我想上传和调整具有不同扩展名的图片。php从原始图片的中心裁剪出最大可能的正方形,然后将其保存为360*360像素。该代码适用于jpeg文件,但对于gif、bmp和png,我得到一个33字节大小的损坏文件。这里是大部分代码:$file_temp=$_FILES["pic"]["tmp_name"];list($width,$height,$type)=getimagesize($file_temp);$picture_name="...aname.ext...";$upload="...somedir/$picture_name";if(move_uploaded_file($file

php - 如何向 PNG 添加额外的元数据?

有没有办法向PNG文件添加一些额外的元数据,然后用PHP检索它?比如评论区。 最佳答案 如果您安装了ImageMagick,它会附带两个实用程序:mogrify和identify。添加评论:$mogrify.exe-comment"Mytestcomment"plogo.png检索评论:$identify.exe-verboseplogo.png|grep-i"comment:"comment:Mytestcomment我不知道mogrify/identify函数是否可用作PHP库,但您始终可以使用phpsystem命令。