有人用过minigui,directfb的吗!

yy2535122 2011-12-05 03:50:25
求教,本人现在遇到一个directfb问题。我现在需要通过dfb设置R,G,B然后算出某个值,然后如果需要透明的话就设置某个区域r,g,b三个值对应底层原来这个值,就可以透明,也就是DFB的colorkey这个属性。然后我需要用到调用minigui的函数去设置这三个值。然后使得我需要的区域透明。

我现在首先设置dfb。
DirectFBInit (NULL, NULL) ;
if (DirectFBCreate (&__mg_dfb) != DFB_OK)
goto init_err;

if (__mg_dfb->SetCooperativeLevel (__mg_dfb, DFSCL_FULLSCREEN) != DFB_OK)
goto init_err;

surfaceDesc.flags = DSDESC_CAPS;
surfaceDesc.caps = DSCAPS_PRIMARY | DSCAPS_STATIC_ALLOC;
if (__mg_dfb->CreateSurface (__mg_dfb, &surfaceDesc, &pFrameBuffer) != DFB_OK)
goto init_err;


pFrameBuffer->GetSize( pFrameBuffer, &SW, &SH );
printf("%d,%s,%d.%d\n", __LINE__, __func__,SW,SH);

pFrameBuffer->SetBlittingFlags( pFrameBuffer, DSBLIT_SRC_COLORKEY );

if (pFrameBuffer->SetSrcColorKey( pFrameBuffer, 0x00,0x00,0x00) != DFB_OK);

去设置colorkey去设置可以透明匹配透明的R,G,B。然后我去调用minigui的函数
SetBrushColor (mem_dc, RGBA2Pixel (mem_dc, 0x0,0x00,0x00, 0x80));
FillBox(mem_dc, 0, 0, 400, 400); 想让透明。但是这样实现不了。
请问下有谁用过这样的方法。加急!
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yy2535122 2011-12-06
  • 打赏
  • 举报
回复
没人懂吗

23,107

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧