- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要找到JPEG(JFIF)图像的大小。该图像不会保存为独立文件,因此我不能使用GetFileSize
或任何其他API这样的图像(该图像放置在流中,并且不存在其他 header ,但通常的JPEG / JFIF header 除外) ))。
我进行了一些研究,发现JPEG图像由不同的部分组成,每个部分都以帧标记(0xFF 0xXX
)开头以及该帧的大小。使用此信息,我能够从文件中解析很多信息。
问题是,我找不到压缩数据的大小,因为似乎没有用于压缩数据的帧标记。此外,似乎压缩数据遵循SOS(FFDA
)标记,并且图像以图像结束(EOI)(FFD9
)标记结束。
一种实现此目的的方法是逐字节搜索EOI标记,但是我认为压缩数据可能包含此字节组合,对吗?
有没有一种简单正确的方法来查找图像的总大小? (我更喜欢一些没有任何外部库的代码/想法)
基本上,我需要图像开始(SOI- FFE0
)和图像结束(EOI-FFD9
)之间的距离(以字节为单位)。
最佳答案
压缩的数据将不包含SOI或EOI字节,因此您在那很安全。但是注释,应用程序数据或其他标题可能会出现。幸运的是,您可以根据长度确定并跳过这些部分。
JPEG规范告诉您您需要什么:
http://www.w3.org/Graphics/JPEG/itu-t81.pdf
请参阅第32页的表B.1。带有*的符号后面没有长度字段(RST,SOI,EOI,TEM)。其他人做。
您将需要跳过各个字段,但这还不错。
如何经历:
FFD8
)。这是开始。它应该是流中的第一件事。FFD8
):损坏的图像。您应该已经找到了EOI! FF01
):独立标记,请继续。 FFD0
到FFD7
):独立标记,继续。您可以验证重新启动标记从FFD0
到FFD7
计数并重复,但是这对于测量长度不是必需的。 FFD9
):完成! FF01
的FFFE
,减去上面的异常):在标记之后,读取接下来的2个字节,这是该帧头的16位大端长度(不是包括2字节标记,但包括长度字段)。跳过给定的数量(通常长度减去2,因为您已经获得了这些字节)。 关于size - 确定JPEG(JFIF)图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1557071/
我对 tensorflow 很陌生,我想清楚地知道,下面的命令有什么作用? import tensorflow as tf from tensorflow import keras from tens
我需要找到JPEG(JFIF)图像的大小。该图像不会保存为独立文件,因此我不能使用GetFileSize或任何其他API这样的图像(该图像放置在流中,并且不存在其他 header ,但通常的JPEG
所以我正在从文件中读取 JFIF (JPEG) 数据,作为练习(我知道已经有一些库可以做到这一点,我不是在寻找那些库)。我已经获得了图像文件大小、颜色深度和尺寸。但是,我不太确定如何获取实际的图像数据
我想为自己(或者如果效果不错的话,可以为他人)做一个工具,用于低级检查/修改JPEG文件。有点像TweakPNG,但用于JPEG。到目前为止,我还没有找到可以执行此操作的工具。 为此,我需要阅读所有相
我需要将 jpeg 图像转换为 jfif 格式,这是因为我需要发送彩信数据。谁能告诉我如何使用java转换它。 最佳答案 你尝试过ImageIO吗?我真的不知道它是否有效,而且我现在无法测试它(因为我
我有一个允许用户上传图片的 laravel 项目,我可以毫无问题地验证 (jpeg/png)。当用户上传 JFIF 图像(被认为是图像/jpeg mime 类型)但 laravel 干预包显示消息“不
在 JPEG 文件中,exif 元数据是否总是存储为第一个标记?或者它可以在其他标记之间? 下面有一个注释“在APP1 Marker区域之后,其他JPEG Markers在后面”。 http://ww
我正在尝试使用 Python 更新 JPEG 文件中嵌入的 JFIF 缩略图。 这是应该实现此目的的(有点hackish)方法: def set_thumbnail(self, data):
我必须在 ImageView 中以 json 格式显示从服务器获取的图像。但是我得到的不是图片网址,而是很多这样的字符.. ����JFIF��C $.' ",#(7),
致力于从我使用 Java 创建的 JFIF 图像中收集信息: Image bmp = ImageIO.read(new File("Background1.png")) .getSca
Active Directory 可以根据 jpegPhoto Attribute definition 以 JPEG 文件交换格式 (JFIF) 存储图像。 .我想使用它,但我从未听说过 JFIF。
我已经创建了一个 C++ 结构来读取和验证 JFIF 文件格式的 header 。结构如下... #pragma pack(1) typedef struct _JFIF_Header { W
我试图从头到尾寻找答案。这看起来很简单,但我缺乏 Javascript 知识(一直用 Java 编码),再加上 Javascript 端的图像流转换,这让这很难。 我创建了一个 REST 请求 url
我是一名优秀的程序员,十分优秀!