既然动态GIF的每个祯都有自己的局部调色板,为什么还要全局调色板,我在一个程序中只能获得一个祯的调色板付给全局调色板,这一祯效果很好,但其他祯效果很差,仿佛是局部调色板没起作用,或是从单一祯(比如首祯或末祯)获得的全局调色板对其他祯起到了误导作用。现在的问题是怎样从多个祯建立很很好控制多个祯的调色板?或者有其他更好的思路?

解决方案 »

  1.   

    图象标识符(Image Descriptor)
    ~~~~~~~~~~~~~~~~~~~~~~~~~
    一个GIF文件内可以包含多幅图象,一幅图象结束之后紧接着下是一幅图象的标识符,图象标识符以0x2C(',')字符开始,定义紧接着它的图象的性质,包括图象相对于逻辑屏幕边界的偏移量、图象大小以及有无局部颜色列表和颜色列表大小,由10个字节组成:BYTE 7 6 5 4 3 2 1 0 BIT  
    1 0 0 1 0 1 1 0 0 图象标识符开始,固定值为',' 
    2 X方向偏移量 必须限定在逻辑屏幕尺寸范围内 

    4 Y方向偏移量 

    6 图象宽度 

    8 图象高度 

    10 m i s r pixel m - 局部颜色列表标志(Local Color Table Flag) 
           置位时标识紧接在图象标识符之后有一个局部颜色列表,供紧跟在它之后的一幅图象使用;值否时使用全局颜色列表,忽略pixel值。
    i - 交织标志(Interlace Flag),置位时图象数据使用交织方式排列(详细描述...),否则使用顺序排列。
    s - 分类标志(Sort Flag),如果置位表示紧跟着的局部颜色列表分类排列.
    r - 保留,必须初始化为0.
    pixel - 局部颜色列表大小(Size of Local Color Table),pixel+1就为颜色列表的位数 http://www.aivisoft.net/Documents/GIFDoc.htm
      

  2.   

    在动态GIF中必须要有全局调色板,局部调色板可以不要吗?怎样获得每个祯都能适合的全局调色板?既然有了局部调色板,全局的又有什么用,他们是怎样共同调节祯的颜色?
      

  3.   

    不一样的,如果不要全局调色板,生成的GIF全是黑的,