当前位置: 技术问答>linux和unix
为何在directfb中显示带有阴影的图片有时会有异常?
来源: 互联网 发布时间:2016-06-24
本文导语: 请教如何在directfb中显示带有阴影的图片(因为阴影是从半透明到透明的过渡区,因此显示后可以在这一区域看到下面一层的东西)? 我大体是这样实现的: //创建idirecfbwindow,得到其surface. DFBWindowDescription dsc; ...
请教如何在directfb中显示带有阴影的图片(因为阴影是从半透明到透明的过渡区,因此显示后可以在这一区域看到下面一层的东西)?
我大体是这样实现的:
//创建idirecfbwindow,得到其surface.
DFBWindowDescription dsc;
dsc.flags = DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_POSX | DWDESC_POSY | DWDESC_CAPS;
dsc.caps = DWCAPS_ALPHACHANNEL;
dsc.posx = wWindow->coord.x;
dsc.posy = wWindow->coord.y;
dsc.width = wWindow->coord.width;
dsc.height = wWindow->coord.height;
layer->CreateWindow(layer, &dsc, &window);
window->GetSurface(window, &surface);
window->SetOptions(window, DWOP_KEEP_SIZE | DWOP_KEEP_STACKING | DWOP_ALPHACHANNEL | DWOP_SHAPED);
window->GetSurface(window, &dstsurface);
//利用png图片生成DFBSurfaceDescription,再根据其创建源surface
dfb->CreateSurface( dfb, &dialog_background_desc, &srcsurface);
//然后将源surface blit到目的surface中.
这样实现后,大多数时候阴影可以正常显示,但是有时候,却显示不正常(比如会在阴影区有一些黑色的杂质),而且很奇怪的是,同样一个程序, 有时候打开是好的,有时候却有问题. 用directfb 1.0 和 1.2都是这样. 有没有哪位大侠知道这是什么原因?
我大体是这样实现的:
//创建idirecfbwindow,得到其surface.
DFBWindowDescription dsc;
dsc.flags = DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_POSX | DWDESC_POSY | DWDESC_CAPS;
dsc.caps = DWCAPS_ALPHACHANNEL;
dsc.posx = wWindow->coord.x;
dsc.posy = wWindow->coord.y;
dsc.width = wWindow->coord.width;
dsc.height = wWindow->coord.height;
layer->CreateWindow(layer, &dsc, &window);
window->GetSurface(window, &surface);
window->SetOptions(window, DWOP_KEEP_SIZE | DWOP_KEEP_STACKING | DWOP_ALPHACHANNEL | DWOP_SHAPED);
window->GetSurface(window, &dstsurface);
//利用png图片生成DFBSurfaceDescription,再根据其创建源surface
dfb->CreateSurface( dfb, &dialog_background_desc, &srcsurface);
//然后将源surface blit到目的surface中.
这样实现后,大多数时候阴影可以正常显示,但是有时候,却显示不正常(比如会在阴影区有一些黑色的杂质),而且很奇怪的是,同样一个程序, 有时候打开是好的,有时候却有问题. 用directfb 1.0 和 1.2都是这样. 有没有哪位大侠知道这是什么原因?
|
这是一个瞒奇怪的问题。
显示不正常(比如会在阴影区有一些黑色的杂质), 这个可能是模式的问题,看看你的FB显示模式,如果是565以上的应该没有,以下就有可能。
有时候打开是好的,有时候却有问题。 都是重新启动就这样,还是运行了什么其他的程序呢?
显示不正常(比如会在阴影区有一些黑色的杂质), 这个可能是模式的问题,看看你的FB显示模式,如果是565以上的应该没有,以下就有可能。
有时候打开是好的,有时候却有问题。 都是重新启动就这样,还是运行了什么其他的程序呢?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。