一般的JPEG的文件格式是以FFD8开头的,然后后面跟一些诸如图形的FRAME,高度,宽度等其他的信息,而他的数据部分是经过算法的,好象先经过DCT变换,而后在量化,最后用HUFFMAN编码。
   而我现在遇到另外一种格式的文件,他和JPEG只是文件头不一样,它的文件头比JPEG的要复杂的多。我怎么把数据部分显示出来呢,主要是我的算法太差了。
   各位有没有什么办法,把JPEG格式的数据部分解码出来?或是其他什么办法?
   请求支援!!!
 

解决方案 »

  1.   

    既然数据的存贮是一样的,也就是说你的文件实际上也是对应的jpeg文件了?
    那么你的文件头应该包含了jpeg文件的文件头,那只需要从你的文件头
    中分离出对应的jpen文件头不就可以生成对应的jpeg文件了??
      

  2.   

    我要打开的文件其实只是数据部分的算法和JPEG的相同,并不包含JPEG文件的文件头。
    它里面还有其他许多的东西,只是有一个部分存图形数据,而这部分的算法和JPEG的数据部分的算法是相同的。其他的完全不一样的。
      

  3.   

    这可难了,我查了一下,JPEG先进行DCT正变化,再对DCT系数量化,对量化后的系数进行差分编码或游程编码,最后在进行熵编码。DCT为离散余弦变化。
    到http://www.wotsit.org看看有没有你的文件的详细资料
      

  4.   

    这个站点我去过。上面没有我想要的东西。
    JPEG的算法,大概我是知道的,DCT->量化->huffman编码。
    但,对于我来说,实在有点复杂了。
    那位大哥还有好点的意见?
    对了DELPHI封装了jpeg的呀(TJpegImage)怎么我找不到他的.pas文件,主要想看看源代码,有那位知道吗?
    SOS!!!!
      

  5.   

    看来怪我没有说清楚,不过先问你一下,是不是确定数据部分是一摸一样的,所不同的只是文件头?如果是这样,你的文件头所含的信息一定可以生成jpeg文件的头,那么不就可以按照jpeg文件来处理了?当然如果你的目的是想写个jpeg解码器的话,倒不妨去试试,很锻炼人的,
    我记得我们那一个班的人当时没有一个人做完这个试验的!
      

  6.   

    to pathe;按你的说法好象可以,自己生成一个文件头???
    虽然理论上可以按你的说法,实际上恐怕不行,而且我要打开的文件有很多FRAME的。我都快要崩溃了
    我不想编解码器,要是谁有的话,可以给我一个吗?
      

  7.   

    没做过,随便说一说:
    建立文件流,读文件
    先找到此文件的数据(?)部分
    建立内存流
    找图的开始标志
    建立TJPEGimage 解出图
      

  8.   

    那么大家知道TJpegImage这个控件的源代码吗?因为DELPHI里好象没有jpeg.pas文件,只有个.dcu文件。。
    我想先按superyiman的办法试试。。
    大家帮忙想想办法。
    SOS!!!!!!!!!!!!!!!!!!!!!!!