客户提出的要求,要转换位图格式RGB888到格式RGB444,RGB444估计大家都没听过吧,我也是没听过,我只能按照转RGB555的方法转换,只是在移位的时候移成444格式,可是按理来说效果应该还不错吧,为什么我转出来的效果很差呢?
原位图地址:http://pic15.album.tom.com/album_pic/2005/09/28/2175a4119e2198f606150fc191a7cbae?%75%4e%6f%45%67%73%48%78%6a%75
转换后位图地址:
http://pic15.album.tom.com/album_pic/2005/09/28/43e8c39d32eac7d8896e35e1ab0745da?%75%4e%6f%45%67%73%48%79%6e%77

解决方案 »

  1.   

    别说RGB444了,RGB555也没听说过,倒是有个16位的RGB565,这个客户有够BT的
      

  2.   

    没什么啊,很正常的要求。
    电脑上不能直接就显示RGB444的图的,所以显示不正常不奇怪,只要你按照客户的数据格式把位图数据放好就可以了。
      

  3.   

    BMP 可以自定义位图格式
    RGB 123 都可以
      

  4.   

    只是客户自己也没有给我们提供RGB444的格式说明,因为RGB555和RGB565之间相差的都不是移位的关系,所以我担心文件头也会不同,或者也有什么掩码的东西。
      

  5.   

    to saliors,
    你说的不错,客户对将来产生的位图都不是在电脑上显示,处理位图的也不是电脑上的CPU。是他们自己的芯片。
      

  6.   

    to fairyprince:
       自定义格式的话,除了移位的处理,那其他地方,比如颜色掩码,压缩标志之类的怎么定义呢?
      

  7.   

    http://www.hf110.com/Article/jswz/bcjs/ozh/200504/888.html
      

  8.   

    Compression=Bitfields
    调色板=
    三个DWORD
    0x0F00,0x0F0,0x0F这是一个像素占16位情况下使用,就是说一个像素占两字节
      

  9.   

    你自己要设置RGB的掩码呀,16位位图调色板的位置是掩码