
VC++画图时分图层,如何解决图层之间的压盖问题,急!
VC++画图时,我分了图层,每个图层中都有点、线和面,但是全部画完之后后一个图层中的面亚改了前面图层中的点和线,如何解决图层之间的压盖问题,让点压盖线,线压盖面,在此求助...
VC++画图时,我分了图层,每个图层中都有点、线和面,但是全部画完之后后一个图层中的面亚改了前面图层中的点和线,如何解决图层之间的压盖问题,让点压盖线,线压盖面,在此求助各位,一定追加分数!
展开
3个回答
展开全部
解决方法:
1、图层使用32位位图(带Alpha通道),初始化所有Alpha通道为全透明
2、针对32位位图自己写作图函数,有图形数据的点,Alpha置为不透明(或别的半透明值,这个根据自己需要)
3、自己写Bitblt或其它相关函数
1、图层使用32位位图(带Alpha通道),初始化所有Alpha通道为全透明
2、针对32位位图自己写作图函数,有图形数据的点,Alpha置为不透明(或别的半透明值,这个根据自己需要)
3、自己写Bitblt或其它相关函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是在OnDraw(OnPaint)里面的绘制顺序问题。DC操作中,没法让先绘制的在后绘制的之上。所以你只能是对图层进行排序之后,在DC中按照图层顺序从底到上一个一个绘制。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在OnDraw(OnPaint中)内绘制顺序问题。 DC操作,不能让平局后的第一次抽签仪式在顶部。所以,你可以排序在DC层与层的顺序,从下到上的最后一个平局。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询