gpt4 book ai didi

c++ - 使用 GDI+ 创建时,两个具有相同尺寸的 JPEG 图像是否具有相同的标题?

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:25 25 4
gpt4 key购买 nike

如果我使用 Image::Save() 函数将两张图像保存为 JPEG(具有相同的质量),并且这两张图像具有相同的尺寸(宽度和高度),这些两个图像具有相同的 header (我注意到它是 623 字节)?

注意:我的测试表明它们确实具有相同的 header ,但可以保证吗?

最佳答案

我永远不会依赖 JPEG 图像中的 header (或前 623 个字节)相同(除了前 2 个字节,分别是 0xff0xd8 -图像开始/SOI)。即使现在是这种情况,将来也可能会发生变化。

所以基本上你会从图像中删除信息,如果标题发生变化,你将无法重新组合这些信息。

前 623 个字节中可能包含任何内容。甚至 APPn 的顺序也可以是随机的。

最好给每个不同的头数据 block 一个唯一的ID(或MD5),并将该ID存储在 header 数据是。这样,如果标题在未来发生变化,您只需存储一个不同的 ID,您将始终能够重新组合图像。或者,如果您将图像作为 BLOB 存储在数据库中,请添加一个标题为 ID 的列。

还要确保将数据拆分为完整 block - 以标记 (0xff 0xnn) 开头的 block - 接下来的两个字节包含 block 的大小。

JPEG 格式:http://www.w3.org/Graphics/JPEG/itu-t81.pdf

关于c++ - 使用 GDI+ 创建时,两个具有相同尺寸的 JPEG 图像是否具有相同的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34691093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com