基于directfb的gtk在开发板上运行颜色不正确的问题

在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))
颜色显示正常了。

猜你喜欢

转载自mypyg.iteye.com/blog/845944