首页 > 代码库 > [修正] 移动平台曲线(如:TRectangle, TPath...等)不平滑的问题
[修正] 移动平台曲线(如: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.12implementation...略...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
[修正] 移动平台曲线(如:TRectangle, TPath...等)不平滑的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。