線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1822
推到 Plurk!
推到 Facebook!

canvas的盲點如何解決

缺席
chiehjj
初階會員


發表:21
回覆:63
積分:26
註冊:2002-12-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-06 14:57:40 IP:219.80.xxx.xxx 未訂閱
版主: 測試了canvas的諸多功能之後有一個盲點無法解決 在canvas畫line,一般均正常,只有在Line寬度為1,座標位於(2,2),(4098,40)至(2,2),(2,4135)的區間會看不見line,不知何故?即使在Tgraphic control物件上依然如此,想請版主看看是否是DELPHI 本身的問題? 謝謝 chieh procedure TForm1.FormPaint(Sender: TObject); begin SetWindowOrgEx (Canvas.Handle, HorzScrollbar.Position, VertScrollbar.Position, nil); Canvas.Pen.Width := 1; Canvas.Pen.Color := clblack; Canvas.MoveTo (2, 2); Canvas.LineTo (4090, 9);{在4097之前或4138之後均正常顯現,介於 期間的均不能顯現} end;
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-12 00:21:26 IP:219.134.xxx.xxx 未訂閱
经过我测试,D7,是有点奇怪。 我的测试代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  i:Integer;
begin
  Canvas.Pen.Width := 1;
  Canvas.Pen.Color := clRed;
  Canvas.MoveTo (13, 13);
  i:=4139;
  Canvas.LineTo (i, 13);
end;
测试结果,如果Pen.Width:=2,则一切正常。如果是1,则当 i=4139或4138等数字的时候,只画出来长度大概只有10的一条横线。 i在1851以下,画出线来没问题,到1852或更大的数字,就看不到任何线了。
系統時間:2024-05-10 19:43:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!