TPanel.PaintTo印出來的畫面如何放大? |
缺席
|
binbinalia
一般會員 發表:14 回覆:23 積分:7 註冊:2003-11-05 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
我覺得您需在TQRChart元件再試試,畢竟用點陣放大會失真 Panel裡的圖形要放大, 可以使用Canvas裡StretchDraw對TGraphic目標
對象做放大繪製
然而您的目標是印表機TPrinter的Canvas 所以需用Win32 StretchBlt 這個 api 並且動一些迂迴的技巧 完整的範例如下, 提供您參考
TMyPanel=class(TPanel); uses printers; procedure TForm1.Button1Click(Sender: TObject); var ptr:TPrinter; rct:TRect; cns:TCanvas; begin ptr:=TPrinter.Create; ptr.BeginDoc; cns:=TMyPanel(Panel1).Canvas; StretchBlt(ptr.Canvas.Handle,0,0,ptr.PageWidth,ptr.PageHeight,cns.Handle,0,0, panel1.Width,panel1.Height,srccopy); ptr.EndDoc; ptr.Free; end; |
binbinalia
一般會員 發表:14 回覆:23 積分:7 註冊:2003-11-05 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |