Firemonkey的旁门左道[五]

本文详细介绍了FMX环境中的三种绘图模式:GDI、D2D、GPU,并阐述了如何通过全局变量切换这些模式。同时,文章分享了一个在GDIPlus模式中设置字体失败的问题解决方法,以及如何为XE4打补丁的技巧。通过对比不同模式的特点和应用场景,读者可以更好地理解并选择合适的绘图模式。


这次讲讲绘制的几种模式吧,不过还是比较浅显,刚接触不久,还实在没这个实力道出个所以来。

FMX下,我们可以切换GDI,D2D,GPU这三种模式,

只要通过全局变量就可以轻松搞定。

如何设置

GlobalUseDirect2D :=False,

 那么将采用GDI的模式进行绘制。通过调试模式我们可以知道当前的Canvas的状态


其他的以此类推,如果在某种模式下出现bug,可以切换到另一种模式中,可能就规避了bug。


比如,在GDIPlus的模式中,你无法成功的设置字体,原因很简单,字体被写死了,

FMX.Canvas.GDIP.pas的第506行,让人欲哭无泪啊。


要是你坚定的使用GDI绘图,那么改成如下, 并将FMX.Canvas.GDIP.pas放到工程目录中即可。

 FGPFamily := TGPFontFamily.Create(FFont.Family);

这也是我刚学到的给XE4打补丁的方法,还是开源的给力啊



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值