Firemonkey 列印字體大小問題? |
尚未結案
|
OneChen
初階會員 發表:7 回覆:33 積分:43 註冊:2014-03-27 發送簡訊給我 |
XE7 Firemonkey 的列印文字, 字體似乎有些問題, 顯示看起來正常, 但列印時, 字體變大了很多, 但一般的畫線座標都很正常, 不知道什麼問題?
|
OneChen
初階會員 發表:7 回覆:33 積分:43 註冊:2014-03-27 發送簡訊給我 |
程式碼如下:
[code delphi] unit Main; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Objects, FMX.Printer; type TForm1 = class(TForm) PaintBox1: TPaintBox; ToolBar1: TToolBar; Button1: TButton; procedure PaintBox1Paint(Sender: TObject; Canvas: TCanvas); procedure Button1Click(Sender: TObject); private procedure TestPaint(Canvas: TCanvas; const Rect1: TRectF); public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.TestPaint(Canvas: TCanvas; const Rect1: TRectF); var i: Integer; h, w: Single; begin h := Rect1.Height / 20; w := Rect1.Width / 20; Canvas.Stroke.Color := TAlphaColors.Lightgray; for i:=1 to 99 do begin Canvas.DrawLine(PointF(i * w, 0), PointF(i * w, Rect1.Height), 1); Canvas.DrawLine(PointF(0, i * h), PointF(Rect1.Width, i * h), 1); end; Canvas.DrawRect(Rect1, 0, 0, AllCorners, 1); Canvas.Font.Size := h; Canvas.Fill.Color := TAlphaColors.Black; Canvas.FillText(RectF(0, h * 9, Rect1.Width, h * 10), 'Hello world', False, 1, [], TTextAlign.Center, TTextAlign.Center); end; procedure TForm1.PaintBox1Paint(Sender: TObject; Canvas: TCanvas); begin TestPaint(Canvas, PaintBox1.LocalRect); end; procedure TForm1.Button1Click(Sender: TObject); begin Printer.ActivePrinter.SelectDPI(1200, 1200); Printer.BeginDoc; TestPaint(Printer.Canvas, RectF(0, 0, Printer.PageWidth, Printer.PageHeight)); Printer.EndDoc; end; end. [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |