請問我在畫線時,Image會一直閃的問題 |
尚未結案
|
kochen
一般會員 發表:8 回覆:5 積分:2 註冊:2004-09-05 發送簡訊給我 |
我想作一個像小畫家的東西
只是我是要在圖層上面畫圖
當我在拉線時,因為如果我沒有用兩個image去一直蓋到原來影像.線就會擠成一堆..
我的程式碼如下
Image2->Picture = Image1->Picture
當mouse move時,
我會一直
Image1->Picture = Image2->Picture
Image1->Canvas->MoveTo(StartX,StartY);
Image1->Canvas->LineTo(X,Y);
這樣就不會線擠成一堆
在mouse up時
我也是一樣
Image1->Picture = Image2->Picture
Image1->Canvas->MoveTo(StartX,StartY);
Image1->Canvas->LineTo(X,Y);
可是這樣閃爍的非常嚴重...
我是想到一個解決的方法
就是抓取每一個mouse down的StartX和startY
然後當mouse move時,就把StartX,StartY,X,Y的值給記錄起來後
在Image2中把Image1中的StartX,StartY,X,Y給複製過去
然後當mouse move拉線時.只要讓那"一小塊"去閃爍就好 因為找不到有虛線的功能..所以我都是這樣子拉的...
不過
要記錄那一小塊,再複制過去..這邊開始我就不知道該怎麼去做了
看過板上有一個getImage的指令
可是BCB6沒有...
不知道有沒有什麼已經寫好的函數可以讓我引用
或是能指點我一下該如何解決
謝謝 發表人 - taishyang 於 2004/10/04 09:10:43
|
kochen
一般會員 發表:8 回覆:5 積分:2 註冊:2004-09-05 發送簡訊給我 |
引言: 我想作一個像小畫家的東西 只是我是要在圖層上面畫圖 當我在拉線時,因為如果我沒有用兩個image去一直蓋到原來影像.線就會擠成一堆.. 我的程式碼如下 Image2->Picture = Image1->Picture 當mouse move時, 我會一直 Image1->Picture = Image2->Picture Image1->Canvas->MoveTo(StartX,StartY); Image1->Canvas->LineTo(X,Y); 這樣就不會線擠成一堆 在mouse up時 我也是一樣 Image1->Picture = Image2->Picture Image1->Canvas->MoveTo(StartX,StartY); Image1->Canvas->LineTo(X,Y); 可是這樣閃爍的非常嚴重... 我是想到一個解決的方法 就是抓取每一個mouse down的StartX和startY 然後當mouse move時,就把StartX,StartY,X,Y的值給記錄起來後 在Image2中把Image1中的StartX,StartY,X,Y給複製過去 然後當mouse move拉線時.只要讓那"一小塊"去閃爍就好 因為找不到有虛線的功能..所以我都是這樣子拉的... 不過 要記錄那一小塊,再複制過去..這邊開始我就不知道該怎麼去做了 看過板上有一個getImage的指令 可是BCB6沒有... 不知道有沒有什麼已經寫好的函數可以讓我引用 或是能指點我一下該如何解決 謝謝我已找到解決問題 Form1->DoubleBuffered=true ; 即可 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |