是否有可能在不重新压缩的情况下向JPG文件添加水印?


Is it possible to add a watermark on to a JPG without re-compression?

这似乎是合乎逻辑的,它应该是不可能添加水印的JPG图像不重新压缩图像保存为JPG时,它应该是不可能的。有人能证实吗?

这个问题通常与PHP有关,但我不认为服务器语言对答案有什么影响。

实际上,您必须重新编码。这样做的方法是确保组件采样和量化表是相同的。这将最小化任何编码失真

这是可能的,取决于您的需求。如果:

  • 你的水印由8x8像素的块组成,
  • 这些块可以应用100%不透明的图像,和
  • 你的图像被压缩使用这些8x8最小编码单位

理论上,您可以只替换水印所在的8x8块。

那么你不需要重新压缩任何mcu

有关如何在不重新压缩的情况下处理JPEG的更多信息,请参阅此处:http://www.betterjpeg.com/lossless-rotation.htm