全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4011
推到 Plurk!
推到 Facebook!

TImage Canvas 畫圖

尚未結案
zombit
初階會員


發表:63
回覆:39
積分:30
註冊:2004-05-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-12 23:16:12 IP:61.62.xxx.xxx 未訂閱
我使用 img.Canvas.Brush.Color := clRed; img.Canvas.FillRect(Rect(Left, 5, Right, 44)); 的方式畫一個矩形, 我使用 img.Repaint 的方式也無法清除. 請指教,謝謝.
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-12 23:57:27 IP:211.22.xxx.xxx 未訂閱
引言: img.Canvas.CopyMode := cmSrcInvert; //以XOR Mode畫圖 img.Canvas.Brush.Color := clRed; img.Canvas.FillRect(Rect(Left, 5, Right, 44)); img.Canvas.FillRect(Rect(Left, 5, Right, 44)); //再畫一次原圖就不見了。 img.Canvas.CopyMode := cmSrcCopy; //記得改回原繪圖模式
------------------- 學,然後知不足。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-13 08:39:44 IP:218.15.xxx.xxx 未訂閱
引言: 我使用 img.Canvas.Brush.Color := clRed; img.Canvas.FillRect(Rect(Left, 5, Right, 44)); 的方式畫一個矩形, 我使用 img.Repaint 的方式也無法清除. 請指教,謝謝.
是清除还是重画?repaint意为重画。 清除可用:image1.Picture:=nil;
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Image1 do begin
    Canvas.Brush.Color := clRed;
    Canvas.Brush.Style := bsDiagCross;
    Canvas.Ellipse(0, 0, Image1.Width, Image1.Height);
  end;
end;    procedure TForm1.Button2Click(Sender: TObject);
begin
  image1.Picture:=nil;
end;
 
============================ 为什么经过多年以后,得失的过程如此冷漠 ============================
zombit
初階會員


發表:63
回覆:39
積分:30
註冊:2004-05-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-13 16:05:49 IP:61.62.xxx.xxx 未訂閱
To Stallion 我用您的方式畫了一次, 不過還是回出現紅色的方塊, 不是一樣的地方再畫一次會不見嗎? To deity image1.Picture:=nil; 可以清除 Canvas, 不過原來 Timage 的圖也會不見, 本來 Timage 的圖要留住, 謝謝. PS: 這個 Timage 已經有一張圖在上面了.
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-13 16:43:39 IP:61.222.xxx.xxx 未訂閱
1. 主要是 Image1.Canvas=圖片的Canvas 所以畫上去就真正畫上去了。 清除畫面就是重新載入圖片。 例如:重新在 LoadFromFile 2. 第二種方式,若懶得做重新載入圖片動作。 建立兩個 Image 。一個放圖片(如:Image2)另一個在物件最上層(Image1) 並設置 TransParent = true用來畫圖。 清除畫面直接 Image1.Picture.Graphic := Nil; 參考 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
系統時間:2024-06-02 19:17:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!