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

关于Tlable

尚未結案
chenliyan163
一般會員


發表:30
回覆:30
積分:12
註冊:2003-09-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-18 16:20:25 IP:61.175.xxx.xxx 未訂閱
将lable中的Transparent设成true(这样就变成透明了),然后在lable中用canvas画线。问:如何才可以像橡皮擦将所画的canvas所画的一点点擦掉,擦过的地方变成跟没画过一样。
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-18 16:57:59 IP:211.96.xxx.xxx 未訂閱
一点一点的擦,速度奇慢无比,还要把画过的点记下来~~~~令人晕倒的方法 改用以下的xor法,就可以解决这个问题了
      with image1.picture.bitmap.canvas do begin
         pen.Width:=10;                  //画粗一点看的清楚
         pen.Style:=psSolid;
         pen.mode:=pmXor;                // 画线的方法
         pen.color:=clRED xor $FFFFFF;   // 假设你要画的是红色的线
         Polyline([point(10,10),point(100,100)]);// 画上红线
         // 暂停3秒再运行下条程序
         Polyline([point(10,10),point(100,100)]);// 这行就把刚刚画的线给Xor反差掉了
      end;
备注:这种方法画线并不会盖掉还没画线前的字、图案、线条...慎用 如果真要盖掉底图画线,还想恢复的话,就另外开个Canvas,画线前线CopyRect起来放着,等到要请线时,在CopyRect回来,这不就得了 發表人 - japhenchen 於 2004/03/18 17:04:43
系統時間:2024-05-02 9:39:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!