问题标签 [gmagick]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 将图像从中心裁剪成您可以在 Yii2 中制作的最大正方形 想象一下?
我正在使用 Yii2 扩展程序Imagine,我需要150x150
从用户上传的图像中制作图像。
目前我只是在做这样的事情:
显然,如果其中一个维度 <150px
一旦调整大小,这可能会导致问题。
所以我主要想弄清楚的是如何在调整大小之前将图像裁剪成正方形 ,这样当我调整大小时就不会出现任何纵横比问题。
现在,我知道您可以使用以下内容裁剪图像:
但是问题是在调整图像大小之前执行此操作可能不会给您想要的东西,因为图像可能太大并且在调整大小后裁剪它也不起作用,因为一维可能已经减少到 < 150px
。
所以我要解决的是如何在调整到可能的最大正方形并从中心向外调整图像之前裁剪图像?
编辑:
好的,我已经想出了一种方法来处理这个问题,但是想知道是否有任何方法可以轻松完成以下任务,还是我需要自己编写代码?
- 计算出最小尺寸(宽度或高度)
- 然后取那个尺寸,这将是你可以拥有的最大的正方形
- 弄清楚如何将其放置在作物的中心
- 现在您可以调整大小
- 如果调整后任一侧的大小小于 150,则创建新的白色背景图像,然后将新图像居中
- 保存图片
- 完毕!
svg - GraphicsMagick 在转换为 png 时未应用 svg 过滤器
有人可以帮助确定这里的问题。考虑这个 SVG 标记。
当我尝试通过 GraphicsMagick 将此 svg 转换为 png 时:
不应用过滤器。但是,如果我使用任何其他 svg(由 Inkscape/AI 等生成),它会成功转换。
我认为 GraphicsMagick 不支持 svg 中的过滤器
codeception - 如何将 Gmagick 类(加载库)添加到 Codeception?
我正在尝试从代码接收中使用 Gmagick,我得到:
或者如果我尝试调用 Gmagick(); 直接从测试:
我已经设置了 Gmagick 并且可以使用它,即如果我在我的 apache 服务器上创建一个独立的 *.php 文件,我可以调用 Gmagick(); 无需声明其他任何内容。
如果我在 Codeception 中尝试相同的操作,我会收到上述错误。我想对此有一些简单的解决方法,但我无法从 Codeception 的文档中获得任何有用的信息,我也无法在 Internet/SO 上找到任何有用的信息。
任何帮助,将不胜感激。谢谢你 :)
php - Gmagick 扩展导致 apache 无限重启
我在 Windows 上编译了一个 Gmagick php7 扩展。它在 cli 模式下工作正常。但是当我启用扩展并启动 httpd 时,apache 似乎进入了一个无限循环的重启。没有错误日志,Apache 只是一次又一次地启动和停止。
我该如何调试呢?
php - 将 PDF 转换为 JPEG 会生成非常大的 /tmp 文件(使用 GMAGICK)
所以我有一个 php 脚本,它接受 PDF 并将其转换为 JPEG 图像。直到今天一切都很好,但是今天我得到了这个 PDF,由于某种原因导致在我的/tmp
目录中生成了非常大的文件(比如 ~14 gigs,而 PDF 文件本身是 ~18MB)。
这是有问题的PDF:
https://www.ciamarket.lt/sites/default/files//failai/leidinys_01.15-28-compressed.pdf
这是相关代码:
我从我的脚本中提取了相关位。
我认为第 28 行负责生成巨大的文件。
知道如何解决这个问题吗?
php - PHP 将 jp2 转换为 jpeg 输出
严格使用 PHP 的 gmagick 或 imagick 库我正在尝试将 jpeg2000 数据转换为与浏览器兼容的 jpeg。jp2 工作正常,但尝试转换为 jpeg 似乎只返回相同的数据,没有进行转换。
$_img 包含输入 jp2 数据。我想避免使用 exec 进行转换,使用系统库使这个平台独立。
php - Gmagick 在加载 PDF 之前设置密度
在 PHP 中使用 Gmagick 将 PDF 转换为图像会呈现质量很差的图像。
Imagick 中的解决方案是在加载 PDF 文件setResolution(x,y)
之前调用。这将改变 -density 选项。
Gmagick中没有setResolution(x,y)
,不幸的是,调用setimageresolution(x,y)
只会引发错误:
PHP 致命错误:未捕获的异常“GmagickException”与消息“无法处理空 Gmagick 对象”
加载 PDF 后调用setimageresolution(x,y)
没有效果,而且我找不到在加载文件之前设置 -density 选项的方法。
编辑:我很高兴有一种方法可以在系统范围内设置默认密度。我确实有root访问权限。
yii2 - Yii2 '您的系统不支持以下任何驱动程序:gmagick,imagick,gd2'
问题是这样的:我正在关注一个 yii 教程以了解有关该框架的更多信息,该教程是https://www.youtube.com/watch?v=whuIf33v2Ug&t=11365s,我发现自己在 2:55 挣扎:31(缩略图调整大小),我使用安装了必要的依赖项composer require yiisoft/yii2-imagine
并编写了代码。
但由于某种原因,我遇到了这个错误,我不知道如何解决它:
“您的系统不支持以下任何驱动程序:gmagick,imagick,gd2”
php - 如何在 OSX 下使用 phpbrew 安装 gmagick?
我尝试使用 PHPBrew 以常规方式安装 gmagick PHP 扩展:
phpbrew ext install gmagick
.
但它一直失败,即使 gmagick 本身已经安装在我的系统中:
brew install gmagick
.
然后我发现 PHPBrew 能够安装该软件的 beta 版本,所以下一个命令是:
phpbrew ext install gmagick beta
.
它几乎成功了......但最后一个错误说系统中缺少“GraphicsMagic-config”。但事实并非如此!当我运行which GraphicsMagick-config
时,位置是正确的(在 brew cellar 目录下的某处)。
那么,如何将 ext 安装程序指向二进制文件的正确位置?