90度图像旋转是用graphicsmagick还是imagemagick无损

Is 90 degree image rotation with graphicsmagick or imagemagick lossless

使用 graphicsmagick 或 imagemagick 的 90 度图像旋转总是无损的吗?

例如做的时候

gm convert -rotate 90 img.img rot90.img.img
gm convert -rotate -90 rot90.img.img back.img

img.img 和 back.img 会相等吗?

这个问题的答案更多地取决于您使用的特定图像格式,而不是 Image/GraphicsMagick 的内部结构(假设它们写得很好)。

对于原始格式(例如 BMP),没有理由不完全相同。

对于无损格式,由于数值精度的原因,可能会有一些细微的变化。

对于有损格式(例如 JPEG),几乎可以肯定会有差异。以 JPEG 为例,每个 8x8 块的压缩都会受到其左侧块的影响 - 如果您旋转图像,那么空间关系将会改变。