我正在开发一个项目,我使用GD库在PHP中编辑jpg的像素.
对我的项目来说非常关键和关键是PHP的输出保留了我设置的像素值(咳嗽 – 隐写 – 咳嗽).
这是我第一次尝试在PHP中进行图像处理.在我的Java实现之前我没有遇到过任何问题,所以在进一步研究GD之前不调查GD的jpeg压缩质量是愚蠢的.
事实证明,经过我所有的努力,我的代码不能按照预期的方式运行.我很确定它不是我的代码(测试编辑后的图像资源上的编码和解码功能,并且它们有效).
我的问题是:
>我能看到的唯一问题是imagejpeg()的压缩.我可以是对的吗?
>是否有任何库提供我需要的压缩?(保留我更改的像素值)
解决方法:
如果您逐个像素地执行steganography,则JPEG文件格式不太适合隐写术.
JPEG使用图像压缩 – 即使具有最高质量 – 也会破坏每个像素上位级别的信息. jpeg类型的压缩(lossy compression)是为了人眼/大脑而保留图像而不是文件中的图像位.
您需要使用能够保留像素的图像格式 – 正如您已经编写的那样.这种格式更可能是具有RLE压缩的BMP或具有ZIP或RLE压缩的TIFF图像格式.这叫做lossless data compression.