修复 XE8 FMX Windows 列印旋转文字问题

时间:2023-03-10 01:49:16
修复 XE8 FMX Windows 列印旋转文字问题

问题:XE8 Firemonkey Windows 无法列印旋转文字(与显示在视窗里的代码相同时)

适用:XE8 Windows 平台(其它平台测试没问题)

修复前效果:

修复 XE8 FMX Windows 列印旋转文字问题

修复后效果:

修复 XE8 FMX Windows 列印旋转文字问题

修复方法:

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

找到 TPrinterWin.GetCanvas 函数,修改如下:

uses System.Math.Vectors; // 加入这个
..... 省略 ......

function TPrinterWin.GetCanvas: TCanvas;

begin
if FCanvas = nil then
begin
FCanvas := TCanvasManager.CreateFromPrinter(Self);
SetCanvasDefaultSettings; {+++>}FCanvas.SetMatrix(TMatrix.Identity); // 加入这行 end;
Result := FCanvas;
end;