文章 "研究CCanvas类如何绘制透明的图形对象" - 页 5

 
Konstantin Seredkin:

各位好,请问如何使信息面板 上的交易图标不叠加在上面。

它似乎在前景,所有东西都画在它后面,但交易却叠加在上面。


我现在不会检查,但这个选项是可能的:面板--一个真正的面板--是在 CDialog 的基础上构建的。我稍后(一两天后)再检查...

 
Konstantin Seredkin:

各位好,请问如何使信息面板 上的交易图标不叠加在上面。

它似乎在前景,所有东西都画在它后面,但交易却叠加在上面。


于是我检查了一下:当然,有必要在CDialog 类的基础上制作一个真正的面板。

现在如何在 "买入 "和 "卖出 "图标上放置面板:每个面板都有一个 "折叠面板 "图标:

折叠面板

折叠面板后再展开 - 面板中的所有对象都将位于之前所有图标的上方。也就是说,在您展开面板后,面板会重新绘制对象,这些对象将是最后创建的对象。

 
Vladimir Karputov:

所以我检查了一下:肯定有必要在CDialog 类的基础上制作一个真正的面板。

现在我们来看看如何将面板放在 "购买 "和 "出售 "图标的顶部:每个面板都有一个 "折叠面板 "图标:


折叠面板后再展开,面板中的所有对象都将位于之前所有图标的上方。也就是说,面板在展开后会重新绘制对象,而这些对象将是最后创建的对象。


因此,对象OBJ_RECTANGLE_LABEL 的 优先级不可能 100%排在所有对象之前?

事实证明,所有其他对象都可以处于后台,但图标和事务栏仍然优先于所有对象。- 无序

 
Konstantin Seredkin:

那么OBJ_RECTANGLE_LABEL 对象的优先级就不能 100%排在所有对象之前吗?

原来,所有其他对象都可以在后台,但图标和事务栏的优先级仍然高于其他所有对象。- 没有顺序


这更像是程序员不愿意在考虑到渲染体积的具体情况下正确编写程序。这与终端无关。

 
Konstantin Seredkin:

那么OBJ_RECTANGLE_LABEL 对象的优先级就不能 100%排在所有对象之前吗?

原来,所有其他对象都可以在后台,但图标和事务栏的优先级仍然高于其他所有对象。- 不按顺序

考虑到对象的创建时间,这就是优先级,谁在最后,谁就在最前面。

 
Konstantin Seredkin:

那么OBJ_RECTANGLE_LABEL 对象的优先级就不能 100%排在所有对象之前吗?

原来,所有其他对象都可以在后台,但图标和事务栏的优先级仍然高于其他所有对象。- 不按顺序

是的,设置显示顺序不是正常执行的。必须重新创建复杂的花园。

 
Andrey Khatimlianskii:

是的,设置显示顺序没有正确执行。有必要通过重新创建来制作复杂的花园。

因此,开发人员应该考虑在创建对象时增加 一个参数

 
你好,朋友,你的文章非常好,内容非常有趣。
 
终于找到了一篇我至少能用得上的文章。)我使用了文章中描述的混合两种颜色(上色和下色)的方法,在一块画布内获得了透明的效果。谢谢。
 
Реter Konow:
终于找到了一篇我至少能用得上的文章。)我使用了文章中描述的混合两种颜色(上色和下色)的方法,在一块画布内获得了透明的效果。谢谢。

彼得,这太简单了。

这是给您的一项任务,希望您能掌握并解决这个问题的实质:

- 如何将 ARGB(a1,r1,g1,b1)和 ARGB(a2,r2,g2,b2)两种颜色混合在一个图层中,而每种颜色都有自己的透明度 a1 和 a2?

如果没有这种混合效果,就不可能将反锯齿对象正确地叠加在一起。