php - 有没有办法将一些数据设置到图像中

标签 php image-processing

让我解释一下我想做什么,我正在用 PHP 构建一个命令行工具,它使用这些程序来优化网络图像...

imagemagick 确定文件类型并将非动画 gif 转换为 png
gifsicle 优化动画 Gif 图片
jpegtran 优化jpg图片
pngcrush 优化png图片
pngquant 将png图片优化为png8格式
pngout 将png图片优化为png8格式

这是一个非常繁重的运行过程,幸运的是它很少被执行,但我仍然希望尽可能多地进行优化。

现在处理大约 12 张图像大约需要 76 秒。所以你可以看到这是一个缓慢的过程,想象一下 100 张图像。

我真的很想以某种方式将图像标记为以某种方式优化,所以当我加载一批图像时,它所做的第一件事就是通过 ImageMagick 运行以获取确切的文件类型,如果我能以某种方式,那就太好了嵌入一​​条消息,说明该图像已经尽可能优化,然后当我读入图像时,如果它检测到一条消息,它将知道不要浪费宝贵的时间通过所有其他程序运行该特定图像,如果这是可能的,它可以大大提高速度。

请帮帮我,我不习惯使用这样的图像,这是否可能,如果它叫什么,我该如何实现?

感谢您的帮助

最佳答案

如果您要在图像本身中包含一个标志,那么它将被提供给客户端。它会增加图像的文件大小,从而抵消您的一些优化。

建议

保留状态引用

将目录保存在同一目录的文件中 - 很像 Windows Thumbs.db文件。

另一种选择是将记录保存在数据库或数据存储中,例如 RedisMemcached .

处理后移动

处理完文件后,您可以将文件移动到其他目录(如@Jordan 所述)。

更改文件名以表明它已被处理

另一种选择是在文件名上附加一个额外的“扩展名”,例如:

my_image.processed.jpg

在图像中嵌入数据

隐写术

通常这用于试图隐藏图像中的隐蔽数据,它被称为 Steganography .然而,它并不真正适合这种用例。

EXIF 数据

您可以将其写入图像的 EXIF 数据,但据我所知,这将是 JPEG 和 TIFF。有一个 PHP library available called PEL用于写入和读取 EXIF 数据。

关于php - 有没有办法将一些数据设置到图像中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832427/

相关文章:

php - 如何使用 PHPUnit 测试多个异常?

php - 如何使按钮在插入时加载其自身的功能

php - MYSQL Link,连接两个表

python - 使用 cv2.connectedComponents 并剔除像素数少的元素

python - 使用 python 从图像集中提取 hog 特征时出错

java - PHP:将值添加到 HTTP header 中的现有键中

php - 如何在php中查找匹配查询的结果

php - 动态缩略图 PHP

ios - 如何在 iOS 上实现方框或高斯模糊

algorithm - 如何识别交通标志的形状?