对GDI的一点疑问?
首先,我先说下我的开发环境:
并没有直接使用GDI......
使用wxWidgets做的UI界面,但wxWidgets底层使用的是GDI
需求说明:在窗口中贴一张图,当用鼠标点击图片某一部分时,该部分半透明化。
思路:直接操作图片数据修改图片对应位置的Alpha值实现透明效果。
问题:在wxWidgets中渲染图片的函数DrawBitmap底层就是调用GDI相应函数实现,而GDI貌似不支持Bitmap半透明化......
低效的实现:在wxWidgets中使用DrawBitmap渲染时构建wxBitmap( image指针 ),直接修改image对象的Alpha数据。
这种方式可以做到该效果,但是每次渲染都要创建bitmap对象,效率低的无法忍受,尤其是大图片的时候。
未完成的实现:如何直接能操作wxBitmap数据的Alpha数据,就可以在渲染时只操作指针完成渲染,但是始终没找到可行的方式。
问:GDI能否实现类似效果?是如何实现的?越详细越好!