[修正] 移动平台曲线(如:TRectangle, TPath...等)不平滑的问题

问题:从 XE4 以来,Firemonkey 曲线绘图在移动平台不平滑的问题一直令人诟病,提交到官方的 QC 也是族繁不及备载,官方似乎有意的避开这个问题,迟迟没有修正。

适用版本:XE4 ~ Berlin 10.1 update 1 (查过官方源码从 XE4 开始有 FMX.StrokeBuilder)

修正方法:

请将源码 FMX.StrokeBuilder.pas 复制到自己的工程目录里,再进行修改。

unit FMX.StrokeBuilder;

interface

...略...

{+++>}var GlobeStrokeStepSize: Single = 1; // 全局变量:曲线平滑度(像素)by Aone @ 2016.10.12

implementation

...略...

procedure TStrokeBuilder.BuildSolidPolygon(const Points: TPolygon; const Opacity: Single; BreakAtEnd: Boolean);

...略...

{---> 删除代码下面三行代码 by Aone @ 2016.10.12
  StepSize := FThickness; // 曲线精密度,设定为前线宽(如果线越宽,画出来的曲线就越粗糙)
  if StepSize < 2 then // 防止曲线精密度小于2
    StepSize := 2;
<---}
{+++>}StepSize := GlobeStrokeStepSize; // 全局变量:曲线平滑度(像素)by Aone @ 2016.10.12

...略...

end;

效果:

例子下载(包含 Berlin 10.1.1 修正档):

[修正]FMX_曲线平滑度_Berlin_10.1.1_Aone.zip

效能问题:

实机测试并没有多大差别,应该说感觉不出来(可能要大量绘制粗线条曲线才会有感觉)。

官方相关 QC 列举几个:

https://quality.embarcadero.com/browse/RSP-15819
https://quality.embarcadero.com/browse/RSP-15649
https://quality.embarcadero.com/browse/RSP-15709
https://quality.embarcadero.com/browse/RSP-15788
https://quality.embarcadero.com/browse/RSP-15649

时间: 10-09

[修正] 移动平台曲线(如:TRectangle, TPath...等)不平滑的问题的相关文章

MiinCMP SAE版修正windows平台下无法获取文档问题

原因:在本地测试时,出现文件路径错误,windows下路径为\ROOT\WEB-INF\,统一转换为/ROOT/WEB-INF/ @Override     public String readFile(File file,String encode){                 String pathweb=parentWebDir;// +"/"+  path;       File f=new File(pathweb);              String path=

用OpenGL进行曲线、曲面的绘制

实验目的 1)理解Bezier曲线.曲面绘制的基本原理:理解OpenGL中一维.二维插值求值器的用法. 2)掌握OpenGL中曲线.曲面绘图的方法,对比不同参数下的绘图效果差异: 代码1:用四个控制点绘制一条三次Bezier曲线 #include "stdafx.h" #include <stdlib.h> #include <time.h> #include <GL/glut.h> //4个控制点的3D坐标--z坐标全为0 GLfloat ctrl

FBX SDK 从2012.1 到 2013.3 变化

==================================================== ============================== 译文                                   自述文件 Autodesk FBX SDK 2013.3,2012年9月11日 1.新功能和弃用功能------------------------------ 1.1新功能        *类FbxCameraManipulator已经改进,使FrameA

转载 ------ 三次指数平滑法

原文地址: http://blog.csdn.net/nieson2012/article/details/51980943 目录 ?1.指数平滑定义及公式 ?2.一次指数平滑 ?3二次指数平滑 ?4.三次指数平滑 ?5指数平滑系数α的确定 1.指数平滑的定义及公式 产生背景:指数平滑由布朗提出.他认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延:他认为最近的过去态势,在某种程度上会持续的未来,所以将较大的权数放在最近的资料. 基本原理:指数平滑法是移动平均法中的一种,其特点

德国精品软件 看图软件介绍 Ashampoo&#174; Photo Commander 12

介绍一个可以和ACD See 媲美的软件.来自美丽的德国. 以下为官方介绍: 强大的图片管理让一切变得简单 喜欢拍照吗?您上次度假.婚礼 - 那些饱含着珍贵记忆的照片让我们的相册不断的飞速增长.以前,我们把照片放在鞋盒里,现在照片都保存在电脑中.但你还清楚上次度假时的照片还保存在哪里吗?你又是否对照片中那小小的瑕疵或是污点感非常讨厌,直接破坏了完美瞬间. Ashampoo Photo Commander 12 超级图片管理工具.高效的在大图中定位浏览,移除烦人的小缺陷.优化色彩和对比度,让照片焕

软件包管理——Linux基本命令(13)

1.包管理器 debian:deb文件, dpkg包管理器 redhat:rpm文件, rpm包管理器 包之间可能存在依赖关系,甚至循环依赖.解决依赖包管理工具: yum:rpm包管理器的前端工具 管理程序包的方式: 使用包管理器:rpm 使用前端工具:yum, dnf 2.rpm包管理 CentOS系统上使用rpm命令管理程序包: 安装.卸载.升级.查询.校验.数据库维护 (1)安装 rmp -i --instal 静默安装(默认) -v 显示详细信息 -vv 显示更详细信息 -h 显示进度

LoadRunner性能测试样例分析

LR性能测试结果样例分析 测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源.数据库服务器资源等几个方面分析,如图1- 1所示.性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向.我们回顾一下本次性能测试的目的,正如 所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服

QDemo - Analog clock模拟时钟学习并改进

调用函数setRenderHint(QPainter::Antialiasing,true),使绘制时边缘平滑,使用颜色浓度的变化,把图形的边缘转换为象素时引起的扭曲变形尽可能减少,在支持这一功能的平台或者绘图设备上得到一个平滑的边缘. QTimer类提供了定时器信号和单触发定时器. 它在内部使用定时器事件来提供更通用的定时器.QTimer很容易使用:创建一个QTimer,使用start()来开始并且把它的timeout()连接到适当的槽.当这段时间过去了,它将会发射timeout()信号. 我

Loadrunner测试实例分析

LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源.数据库服务器资源等几个方面分析,如图1- 1所示.性能测试结果分析的一个重要的原则是以性能测试的需求指标为导向.我们回顾一下本次性能测试的目的,正如 所列的指标,本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过