首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xojo图像叠加顺序

Xojo图像叠加顺序
EN

Stack Overflow用户
提问于 2016-10-03 21:03:07
回答 3查看 547关注 0票数 1

在我的Xojo应用程序中,我动态地创建画布对象。我要把它们按特定的顺序叠起来。然而,我似乎无法以我想要的方式将图像堆叠起来。如何指定图像的显示顺序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-04 14:02:20

如果您试图堆栈/平铺画布对象,那么您最好尝试在canvas.paint事件中处理各种图像。控件的堆叠几乎总是会保证糟糕的性能和闪烁(特别是在Windows中)。

做您正在做的事情可能有合理的理由,但我怀疑这不是最好的Xojo方式。如果没有更多的信息,很难说。

想想画布对象在说,旧的动画已经完成。你画背景,然后在下一层画物体,然后画下一层,以此类推。这非常快(我们创建了一个功能齐全的字处理器,它使用插入提示符等等)。

票数 1
EN

Stack Overflow用户

发布于 2016-10-04 11:49:23

我假设您的意思是在窗口中声明了一个Control数组,即窗口中有一个画布控件,其索引设置为0。并使用new运算符添加新的画布控件实例。

我认为,这些控件在数组中出现的顺序也是它们被绘制的顺序(或相反)。但我想这对你来说应该是显而易见的。所以我想你正在做更多导致你困难的事情,但你还没有沟通。

票数 1
EN

Stack Overflow用户

发布于 2016-10-28 15:05:26

游戏后期,但是您可以通过将图像作为pixmapShapes插入到Group2D对象中,将它们插入到单个图片Objects中,从而更好地控制图像。一个例子可能看起来是:

代码语言:javascript
复制
dim pixmapA as new pixmapShape(pictureA)

dim composite as new group2D //behaves much like an array

composite.append(new pixmapShape(pictureB)) //lacks variable name (see pixmapA)
composite.item(0).rotation=.9 //but still editable if you know its index

composite.append(pixmapA) //on top and still addressable as 'pixmapA'
pixmapA.fill=50 //e.g. changed transparency

//add this group to a picture (lets suppose 'myPicture' exists)
myPicture.objects=composite
myCanvas.Backdrop=myPicture

//or you can paint to graphics
myPicture.graphics.drawObject(composite)

object2D唯一的优点是它的坐标系在对象的中心有0,0,而不是顶部,在其他任何地方都使用。

重新阅读时,如果您必须有单独的画布来响应事件(例如,它们是自定义控件,这可能是不可行的)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39840388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档