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

判斷連續的pixels

尚未結案
jjoey.tw
一般會員


發表:29
回覆:19
積分:9
註冊:2004-11-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-21 10:42:01 IP:61.61.xxx.xxx 未訂閱
請問各位高手,如下面兩張圖所示(左圖不連續、右圖有一橫線通過),我如何判斷pixels為連續且橫跨整個視窗,謝謝!     發表人 - jjoey.tw 於 2005/03/21 10:51:30
xfile
初階會員


發表:21
回覆:80
積分:25
註冊:2004-10-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-22 19:37:00 IP:220.130.xxx.xxx 未訂閱
設個變數,然後用 Canvas->Pixels[x][y] , x 由 0 掃到螢幕的最大寬度, 然後開始比對顏色值,如果這個點是你要的顏色, 就把變數 +1,如果變數加到最後等於螢幕的 Width, 就表示這條線為連續    
    int x = 0 ;    for( int i = 0 ; i < 螢幕最大寬度 ; i    )
{
      if (Image1->Picture->Bitmap->Canvas->Pixels[i][要判斷的那條線的 y 座標] == 
          TColor(你要的顏色值) )
      {
          x   ;
      }    }    if (x == 螢幕最大寬度)
{
  //線段為連續 時所要做的事
}    
1666362
初階會員


發表:66
回覆:124
積分:43
註冊:2004-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-23 01:15:50 IP:210.192.xxx.xxx 未訂閱
直接的想法 假設圖的大小為 100*100 那你就算多少黑點 如果少於10000 那代表沒有橫越 如果等於10000 就是橫越 發表人 - 1666362 於 2005/03/23 10:15:47
xfile
初階會員


發表:21
回覆:80
積分:25
註冊:2004-10-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-29 11:37:15 IP:220.130.xxx.xxx 未訂閱
引言: 假設圖的大小為 100*100 那你就算多少黑點 如果少於10000 那代表沒有橫越 如果等於10000 就是橫越
你這招是判斷線段本身的總像素,只能對付已知道大小的線段 要是你只知道螢幕解析度大小但是不知道線段的寬度 (也就是你算不出線段的總像素),你這招就沒用了 而且算線段總像素的速度,絕對比只掃一次 X 軸還慢,而且麻煩 發表人 - xfile 於 2005/03/29 14:25:59
jjoey.tw
一般會員


發表:29
回覆:19
積分:9
註冊:2004-11-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-29 11:54:40 IP:211.78.xxx.xxx 未訂閱
xfile您好, 謝謝您給予寶貴意見。 kiwi
系統時間:2024-05-02 13:06:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!