1:窗口背景是透明的,要将创建的窗口设置成分层窗口,修改风格之后用UpdateLayeredWindow先把透明度搞起来.
2:用CreateCompatibleDC弄个内存DC,也就是画布了
3:CreateDIBSection创建个兼容图形.至此,你已经把一个窗口设置成分层窗口,并且已经半透明,内存里有了一个DC,也有了个空白的兼容图形.
4:初始化GDI+,创建个基于内存DC的图形指针
4-1:用GdipLoadImageFromFile将图片读入,变成图像指针
4-2用GdipDrawImageRectRect将图像指针画到图形指针上,这时候可以控制画出的大小
这里因为你的GDI+图形是基于内存DC的,所以画在图形上等于画在内存DC上
5:还是用UpdateLayeredWindow复合内存DC到窗口实例上,因为是分层窗口windows会帮你刷新的
到这就看到半透明窗口上挂着个图片了
至于想支持鼠标滚轮缩放,键盘什么的,就在消息里面再画一遍,最后更新出去就行
切记各种对象用完了要销毁,否则会内存泄露 |