TScaledLayout&amp ;;绘画问题自定义样式

时间:2015-11-04 18:54:07

标签: delphi firemonkey delphi-xe7 firemonkey-style

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

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

paint issue with stretched controls

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

1 个答案:

答案 0 :(得分:0)

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

  

我发现了一个类似案例的内部报道问题,但没有   找到了一个符合这种情况的人。当然值得增加质量   门户。话虽如此,我担心基于位图的操作和   缩放并不能很好地融合在一起,而且可能很难   有一个全面的解决方案。

     

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

     

这是ScaledLayout发生的例子,假设它需要   完成最终图像并对其进行转换。 ScaledLayout最初是   引入了矢量样式,并在该场景中运行良好。   使用今天的位图样式会让事情变得复杂一些。

     

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