我正在尝试从 jpeg(在本例中为 Instagram 图片)获取文件尺寸(宽度和高度)
据我了解,宽度和高度是在 0xFF 0xC0 标记之后定义的,但是我在这张图片中找不到这个标记。它是否已被剥离或是否有我应该检查的替代标记?
我正在尝试从 jpeg(在本例中为 Instagram 图片)获取文件尺寸(宽度和高度)
据我了解,宽度和高度是在 0xFF 0xC0 标记之后定义的,但是我在这张图片中找不到这个标记。它是否已被剥离或是否有我应该检查的替代标记?
JPEG 帧开始 (SOF) 标记有 4 个可能的值:
如果您正在扫描字节以查找 FFCx 模式,请注意您可能会在嵌入的缩略图图像中遇到一个(在 FFE1 Exif 标记内)。要正确找到主图像的 SOFx,您需要遍历 JPEG 标记链。2 字节长度(big-endian)跟在 2 字节标记之后。要避免的最后一个陷阱是一些 JPEG 编码器在有效标记之间粘贴额外的 FF 值。如果您在应有标记的位置遇到 FFFF,只需将指针增加 1 个字节,然后重试,直到找到有效标记。
您可以使用 ImageMagick 在命令行中非常简单地获得它,它安装在大多数 Linux 发行版上,可用于 OSX 和 Windows。
identify -ping https://scontent.cdninstagram.com/t51.2885-15/s640x640/sh0.08/e35/11264864_1701024620182742_1335691074_n.jpg
输出
https://scontent.cdninstagram.com/t51....1074_n.jpg JPEG 640x640 640x640+0+0 8-bit sRGB 162KB 0.000u 0:00.000