在pc上正常显示的图片浏览程序,在开发板上运行颜色明显失真,怀疑是色深问题。
分析gdk directfb的代码后发现:
在gdkvisual-directfb.c中的函数_gdk_visual_init()中:
system_visual赋值不对。
For循环中:if (acc & DFXL_BLIT || formats[i] == dlc.pixelformat) 判断条件导致了system_visual未必是dlc.pixelformat的。
将此句改成:
if ((acc & DFXL_BLIT) && (formats[i] == dlc.pixelformat))
颜色显示正常了。
分析gdk directfb的代码后发现:
在gdkvisual-directfb.c中的函数_gdk_visual_init()中:
system_visual赋值不对。
For循环中:if (acc & DFXL_BLIT || formats[i] == dlc.pixelformat) 判断条件导致了system_visual未必是dlc.pixelformat的。
将此句改成:
if ((acc & DFXL_BLIT) && (formats[i] == dlc.pixelformat))
颜色显示正常了。