首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GD imagejpeg()压缩?

GD imagejpeg()压缩?
EN

Stack Overflow用户
提问于 2011-07-03 05:55:42
回答 3查看 10.5K关注 0票数 4

我正在进行一个项目,在这个项目中,我使用GD库在PHP中编辑jpg的像素。它的非常关键,也是我的项目的关键,的输出保留了我设置的像素值(咳嗽-隐写-咳嗽)。

这是我第一次尝试在PHP中进行图像操作。我以前在Java实现方面没有任何问题,所以在进一步研究GD的jpeg压缩质量之前,我是愚蠢的。

结果是,经过我所有的努力,我的代码并没有按照它应有的方式工作。我很确定这不是我的代码(测试了编辑过的图像资源上的编码和解码功能,它们都起作用了)。

我的问题是:

  1. 我能看到的唯一问题是imagejpeg()的压缩,我能说的对吗?
  2. 是否有提供所需压缩的库?(保留我更改的像素值)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-03 07:02:12

如果您逐个像素地执行隐写术文件格式,则不太适合于隐写。

JPEG使用一种图像压缩--即使具有最大的质量--这将破坏每个像素上的位级信息。jpeg类型的压缩(有耗压缩)是为人眼/大脑保留图像,而不是在文件中的图像位。

您需要使用能够保留像素的图像格式--就像您已经写好的那样。这种格式更有可能是BMP和RLE压缩,或TIFF图像格式与ZIP或RLE压缩。这叫无损数据压缩

票数 2
EN

Stack Overflow用户

发布于 2011-07-03 06:01:13

默认情况下,imagejpeg输出的图像质量为75,尝试将其设置为100,以获得完全质量的图像。

代码语言:javascript
复制
  bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

有关更多细节,请查看手册

还可以尝试使用图像重放。(我认为您可能在代码中的某个地方使用了imagecopyresized。使用imagecopyresampled代替它。)

编辑

那么,我认为您应该尝试ImageMagick(或GD2)。它的质量比GD好。检查

票数 3
EN

Stack Overflow用户

发布于 2013-10-10 14:37:26

使用imagepng()而不是imagejpeg()函数,并将压缩设置为0:

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

请参阅:http://php.net/manual/en/function.imagepng.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6561345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档