目前在做一个项目的移植,但所有UI都是自己做的,所以在另一个平台的中间层需要把所有控件显示出来,但在那个平台是通过绘制在LED上,提供了一个LED缓存。现在,我想移植到MOBILE上,由于MOBILE不提供操作LED接口,只提供DC,该如何最好的移植呢??
我的想法是能否创建一个透明全屏的窗口,并获得其DC,用其替代另一个平台的LED??
------解决方案--------------------
可以用memDC把图形画到一个bitmap中去
- C/C++ code
HDC hdcMem = CreateCompatibleDC(hdc); bufferBitmap=CreateCompatibleBitmap(hdc,rect.right-rect.left,rect.bottom-rect.top); hbmpPrev1=(HBITMAP)SelectObject(hdcMem,bufferBitmap);
------解决方案--------------------
我理解楼主的意思是老平台通过setpixel,getpixel类似的函数,对一内存做的操作,不知道是不是这样!(feature phone)
若是这样的话,windows有对应的函数,估计会让你的移植轻松点(但速度就不知道了)
另外,在windows上运行,你肯定会创建一个窗口,这样,实际上就有你的DC环境了!
------解决方案--------------------
你可以把他的和那个DC关联的BITMAP取出来,然后GETOBJECT,把那个BITMAP的大小取到,再往上画应该是最保险的.