问题标签 [php-imagine]

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.

0 投票
0 回答
331 浏览

php - Laravel - 渐进式 JPEG 在调整大小后转换为基线

我在 Laravel 中使用 CodeSleeve/stapler 插件来调整图像大小。

我注意到调整大小的图像不再是渐进的。

由于 Stapler 使用 Imagine/Imagine Plugin 进行图像处理,我猜我需要根据想象插件而不是订书机找到解决方案。

任何帮助表示赞赏。

我当前的配置看起来像这样

0 投票
1 回答
509 浏览

php - PHP Stapler 和 Imagine Image autororate 问题

我与订书机的自动旋转功能有些不一致,希望有人能解释发生了什么。

我的样式在 Eloquent 模型上定义如下:

问题是,对于特定图像,zoom样式无法正常工作。即使原件已经直立,它也会将图像旋转 90 度。

这是原始图像的屏幕截图,您可以看到它是直立的:

在此处输入图像描述

这是经过zoom样式处理后的图像截图。它旋转了 90 度:

在此处输入图像描述

如您所见,我也将and样式autorotate设置为 true ,但是这些图像没有被旋转 90 度并且在处理后正确显示。thumbnailstandard

奇怪的是,当我检查原始图像的 exif 方向数据时,它的值为 6,这意味着图像应该旋转 90 度。如果是这样,为什么其他样式也不旋转?

所以我想知道如果这个图像已经是直立的,为什么 exif 方向是 6。另外,为什么图像只为zoom样式旋转?

0 投票
1 回答
71 浏览

php - 使用 AWS 存储原始临时上传的图像(过滤后将被删除)

我已经使用 PHP 构建了一个图像上传功能。实现的场景只处理服务器机器的本地文件系统,现在我需要重新实现该功能以适应 AWS。问题是 AWS 提供了 3 种类型的文件存储(EFS、EBS 和 S3),我不知道如何处理使用场景的第 1 步和第 3 步:

  1. 原始图像上传并存储在系统中(重命名和清理后)。

  2. 我使用 Imagine 库过滤器从该图像(小、中、大)创建 3 个副本。这 3 个副本旨在使用 PHP AWS 开发工具包复制到 S3。它们还针对更好的性能进行了优化。

  3. 原图删掉(因为大,没用过,删掉心理好)。

换句话说,将原始临时图像存储在哪里更好?对这个图像使用 EBS 或 EFS 更好,还是与最终图像一起存储在 S3 中,然后再将其删除。

就延迟和执行速度而言,与 EC2 “最近”的存储系统是什么?他们都需要一个 EC2 实例,但肯定有一个更适合temporary.

您的经验对我们来说总是非常宝贵的。非常感谢你

0 投票
1 回答
574 浏览

php - 想象一下如果 open() 方法抛出异常忽略然后继续下一个循环

我正在尝试使用Imagine批量制作超过 90k + 相对较小的移动图像的 250x250 缩略图。问题是,当我运行一个循环时,

有时,图像已损坏并且open()方法失败,抛出异常:

Unable to open image vendor/imagine/imagine/lib/Imagine/Gd/Imagine.php Line: 96

并完全打破循环。有没有办法检查是否open失败?就像是:

希望有人可以提供帮助。或者如果不可能,你能推荐一个我可以批量调整大小的 PHP 图像库吗?

谢谢

0 投票
1 回答
290 浏览

yii2 - yii2 为控制台 cron 作业启用 Imagine

我正在使用一段代码

为我的 yii2 应用程序前端中的图像生成缩略图,现在我有一些通过 Cli 运行的 cron 作业,当我使用相同的方法生成缩略图时,它给了我以下错误

您的系统不支持以下任何驱动程序:gmagick,imagick,gd2

知道这是否与我的cli/php.ini文件有关吗?或其他东西,是的,我正在使用这些语句

在我的脚本文件的顶部,我安装了 Ubuntu。

0 投票
1 回答
900 浏览

php - 如何调整图像大小然后用白色背景将其集中?可以使用 php-Imagine 库来完成吗?

我想生成的效果与 此 StackOverflow 线程中的示例完全相同:(相关问题)

1.调整图像大小 2.
保持比例3.添加
或填充白色背景的非图像区域

以下是此过程的三个示例:
1. 如果原件是正方形,无论是 640*640 还是 1024*1024,只需将其调整为目标尺寸,例如 480*480 即可。
在此处输入图像描述

  1. 如果原始输入是垂直矩形,输出不应该被裁剪并且仍然居中如下(红色虚线边缘标记只是为了更容易看到背景是白色的,并且在图像调整为 480*480 px 后保持比例)
    在此处输入图像描述

  2. 如果原始输入是水平矩形,输出如下图,白色背景,保持比例和图像未裁剪,因此图像处理后不会丢失任何内容。
    在此处输入图像描述

所以在我澄清了这样一个问题之后,我想知道:

  1. 上面提到的这种自定义图像调整大小是否有一个通用名称?
  2. 想知道如何使用php图像库来实现想象一下?使用 php-imagine 是否可行,或者必须切换到另一个库,例如imagemagick

PS如果你想在图像调整视频调整中实现效果,你可以使用下面的FFMPEG单行命令。(感谢@Mulvya,是的,下面的代码适用于视频和图像格式)

[在ffmpeg控制台中运行下面的内置代码以实现上述resize效果]

[视频调整大小]

[图像调整大小]

0 投票
1 回答
1249 浏览

php - 使用 Imagine 将图像调整为宽度:在第 11 行的 resize.php 中调用未定义的方法 Imagine\Gd\Image::widen()

试图调整大小和图像宽度。这是代码:

和错误:

我究竟做错了什么?

0 投票
2 回答
2331 浏览

php - 将图像从中心裁剪成您可以在 Yii2 中制作的最大正方形 想象一下?

我正在使用 Yii2 扩展程序Imagine,我需要150x150从用户上传的图像中制作图像。

目前我只是在做这样的事情:

显然,如果其中一个维度 <150px一旦调整大小,这可能会导致问题。

所以我主要想弄清楚的是如何在调整大小之前将图像裁剪成正方形 ,这样当我调整大小时就不会出现任何纵横比问题。

现在,我知道您可以使用以下内容裁剪图像:

但是问题是在调整图像大小之前执行此操作可能不会给您想要的东西,因为图像可能太大并且在调整大小裁剪它也不起作用,因为一维可能已经减少到 < 150px

所以我要解决的是如何在调整到可能的最大正方形从中心向外调整图像之前裁剪图像?

编辑:

好的,我已经想出了一种方法来处理这个问题,但是想知道是否有任何方法可以轻松完成以下任务,还是我需要自己编写代码?

  • 计算出最小尺寸(宽度或高度)
  • 然后取那个尺寸,这将是你可以拥有的最大的正方形
  • 弄清楚如何将其放置在作物的中心
  • 现在您可以调整大小
  • 如果调整后任一侧的大小小于 150,则创建新的白色背景图像,然后将新图像居中
  • 保存图片
  • 完毕!
0 投票
1 回答
674 浏览

php - Zend 框架和想象:在图像中添加文本

我将Imagine与 Zend Framework 2 一起使用。

我正在寻找一种在保存之前在图像中添加文本的方法。

我试过这个:

我希望你们中的一个可以帮助解决问题。

0 投票
0 回答
229 浏览

php - PHP Imagick annotateImage 在某些图像上失败

我有一个 PHP 脚本,它使用 PHP Imagick 从 PDF 页面生成图像。在其中我使用 annotateImage 函数在图像顶部写入一条数据并将其作为输出。这最近在一些被选中的 PDF 图像上失败了。我的意思是,当一个特定的 PDF 作为该程序的输入时,annotateImage 函数无法在许多其他 PDF 文件上表现良好的地方写入数据......

这是以下代码,它在循环上运行以生成此图像...

该代码运行良好,并在文件夹中获取确切的 PDF 页面作为图像,但 annotateImage 不适用于特定的 PDF 文件,因此输出没有“Hello header”消息。

相同的代码在大多数 PDF 上都能完美运行,我得到特定的 PDF 页面,上面写着“Hello header”消息作为图像......

所以无法猜测可能是什么问题......

不允许 annotateImage 写入文本的 PDF 文件在这里:

http://wikisend.com/download/143652/notworking.pdf

正在工作的PDF(通常大多数pdf文件都可以正常工作......)

http://wikisend.com/download/215044/working.pdf