Dent7777 Asked: 2019-04-06 05:18:42 +0800 CST2019-04-06 05:18:42 +0800 CST 2019-04-06 05:18:42 +0800 CST 我可以在不更改尺寸或内容的情况下填充图像的大小吗? 772 我在我的工作场所使用具有最小图像文件大小的内部工具。不幸的是,我有一个用例,我需要上传低于此限制的图像文件并与之交互。 有什么方法可以在不实际更改图像内容的情况下填充图像文件的大小?我大部分时间都在处理 jpeg 和 png 文件。 jpeg png 1 个回答 Voted Best Answer gronostaj 2019-04-06T05:52:47+08:002019-04-06T05:52:47+08:00 对于 JPEG 通常是 yes,你可以简单地在末尾附加零,它不会影响图像本身。JFIF 和 EXIF(两种 JPEG 文件格式)都不受此影响。一些迂腐的图像处理工具可能会在最后抱怨额外的数据,但它们仍然能够处理图像。 至于 PNG,我不熟悉它的内部工作原理,但你可以尝试附加零,看看它是否有效。很可能它也有足够的弹性。 详细信息:为好奇的读者准备的 JPEG。 JPEG 是一种压缩算法,而不是一种文件格式。有两种文件格式可以容纳 JPEG 压缩图像:JFIF 和 EXIF(后一种以相机常用于存储照片元数据的“EXIF 标签”而闻名)。他们大多是兼容的。 两种格式都包含一个幻数FF D8,后跟任意数量的二进制块(称为“段”)。每个块都以一个 4 字节的标记开头: 第一个字节总是FF 第二个字节是段类型标识符 第三个和第四个字节是一个 16 位数字,等于以字节为单位的段数据长度 + 2(因此比段的累积长度少 2 个字节) 段头后跟适当数量的字节。随后的段只是简单地附加在末尾。 JFIF 和 EXIF 共享相同的结构和段类型标识符,因此它们“大部分”兼容。“大部分”,因为他们对第一航段的要求不同。实际上,大多数工具都可以处理混合的 JFIF/EXIF 文件,因为这些段具有不同的类型标识符。 所有段都以字节开头FF,因此附加零会创建无效段。大多数工具似乎都默默地忽略了这些。
对于 JPEG 通常是 yes,你可以简单地在末尾附加零,它不会影响图像本身。JFIF 和 EXIF(两种 JPEG 文件格式)都不受此影响。一些迂腐的图像处理工具可能会在最后抱怨额外的数据,但它们仍然能够处理图像。
至于 PNG,我不熟悉它的内部工作原理,但你可以尝试附加零,看看它是否有效。很可能它也有足够的弹性。
详细信息:为好奇的读者准备的 JPEG。
JPEG 是一种压缩算法,而不是一种文件格式。有两种文件格式可以容纳 JPEG 压缩图像:JFIF 和 EXIF(后一种以相机常用于存储照片元数据的“EXIF 标签”而闻名)。他们大多是兼容的。
两种格式都包含一个幻数
FF D8
,后跟任意数量的二进制块(称为“段”)。每个块都以一个 4 字节的标记开头:FF
段头后跟适当数量的字节。随后的段只是简单地附加在末尾。
JFIF 和 EXIF 共享相同的结构和段类型标识符,因此它们“大部分”兼容。“大部分”,因为他们对第一航段的要求不同。实际上,大多数工具都可以处理混合的 JFIF/EXIF 文件,因为这些段具有不同的类型标识符。
所有段都以字节开头
FF
,因此附加零会创建无效段。大多数工具似乎都默默地忽略了这些。