当前位置:  开发笔记 > 开发工具 > 正文

如何使用十六进制编辑器无损解码地连接2个jpeg?

如何解决《如何使用十六进制编辑器无损解码地连接2个jpeg?》经验,为你挑选了1个好方法。

我正在尝试编写一个程序(在java中的概率),无需先解码就可以无损地连接多个jpeg.

我以为我会开始简单,尝试使用十六进制编辑器追加相同大小的2个jpegs,使用相同的设置压缩.

首先,我提取jpeg B的图像数据并将其附加到jpeg A.通过修改标题中指定的尺寸,我得到一个新的可识别图片(y轴上附加的jpeg A + jpeg B),可以进行显示.然而,尽管来自jpeg B的图像数据清晰可辨,但它似乎丢失了大量的颜色信息并且显然是不正确的.

所以我的问题是我错过了哪些步骤?我不认为我需要更改任何其他维度特定的标题值,所以也许我需要霍夫曼解码来自两个jpeg的图像数据,然后将它们附加在一起,然后重新编码该批次?

我花了一些时间阅读jpeg规格和标题等,但说实话,我已经超出了我的深度,可以用指针或两个指针!

非常感谢您的帮助.


感谢所有的建议.是的,这绝对是可能的,我应该在我原来的问题中提到jpegtran.我基本上试图复制jpegtran功能的这个方面,但在我自己的程序中使用它.我想我应该看一下jpegtran源代码,但我对C一无所知,而且对一般的编程知之甚少,所以逆向工程源代码说起来容易做起来难!



1> CDR..:

这是非常可行的.我在很多谷歌地图图片上做了它,加入这些图块并形成一张海报大小的图像.有一个名为JPEG Tools的Unix软件包正是为了做到这一点.该程序称为jpegjoin.纯C源代码,提供Windows二进制文件.在编译时,它会创建一个命令行应用程序,该应用程序在运行时会在许多其他事物中连续丢失两个jpeg图像.它不会对任何图像进行解压缩,只需将压缩数据合并在一起并相应地修复标头.我用它来合并100个图像来创建50个条带,然后再次合并这些条带以创建一个大图像.

有关更多信息,请访问http://en.wikipedia.org/wiki/Lossy_compression#Lossless_editing

源代码

可以在此处找到基础jpegtran库的源代码.模仿jpegjoin的示例脚本就在这里.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有