8

将 TScaledLayout 和从 fmx 中的位图样式设计器创建的自定义样式结合起来时,我遇到了绘画问题。

为了演示,我加载了通过在位图样式设计器中选择“VCL / FMX 的新样式”->“另存为 .style”创建的默认自定义样式。我在一些彩色矩形上放置了几个标准控件:TScaledLayout 上的红色和绿色控件,直接在表单上的蓝色控件。当我拉伸表单时,彩色线条出现在 ScaledLayout 上的控件上;背景部分可见:

拉伸控件的绘制问题

如果我调整表单的大小以与设计时尺寸完全匹配,线条就会消失。这似乎是一个非常重要的问题,我当然不能像那样将这两个一起使用。有人对可能的修复或解决方法有想法吗?

4

1 回答 1

0

看起来这是缩放和位图的已知问题。请参阅此处的 Google+ 讨论 - https://plus.google.com/+PaulThornton/posts/ACAHkJD3a84。我将引用 Marco Cantu 的想法:

我发现了一个类似案例的内部报告问题,但没有找到与这种情况相匹配的问题。当然值得添加到质量门户。话虽如此,我担心基于位图的操作和缩放并不能很好地结合在一起,并且可能很难有一个包罗万象的解决方案。

让我用一个例子来解释。拿一个按钮。这是由 FMX 绘制的,有 9 个部分(边框、角、中心部分),因此无论位图元素的大小如何,最多只能在一个方向上拉伸,通常只是绘制。将按钮的单个位图拉伸到目标大小会破坏抗锯齿并在使用颜色时创建模糊的图像。

这是使用 ScaledLayout 发生的示例,因为它需要完整的最终图像并对其进行转换。ScaledLayout 最初是通过矢量样式引入的,并且在这种情况下工作得很好。对于今天的位图样式,事情变得有点复杂。

不管这个问题的解释是什么,我建议在 QC 上报告它,我会确保它不会像设计一样被关闭(它可能自然发生,这就是系统的工作方式)但我们会这样做一些调查来解决这个问题——把它变成一个功能请求。

于 2015-11-05T12:56:10.057 回答