Firemonkey的旁门左道[五]

时间:2023-01-22 08:28:25


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

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

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

如何设置

GlobalUseDirect2D :=False,

 

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

Firemonkey的旁门左道[五]

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


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

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

Firemonkey的旁门左道[五]

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

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

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