Firemonkey的旁门左道[五]
这次讲讲绘制的几种模式吧,不过还是比较浅显,刚接触不久,还实在没这个实力道出个所以来。
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打补丁的方法,还是开源的给力啊