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

找出圖形ㄉ矩形外框...

尚未結案
hala
一般會員


發表:1
回覆:1
積分:0
註冊:2005-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 00:44:48 IP:220.134.xxx.xxx 未訂閱
問題~得到的最大Y與最小Y有錯誤...不知道怎樣修改    程式碼如下:謝謝各位大大ㄉ解答 //---------------------------- void __fastcall TForm1::Button6Click(TObject *Sender) {     int x,y;       int max_x=0,min_x=Image1->Picture->Width;       int max_y=0,min_y=Image1->Picture->Height;         for(y=0;yPicture->Height;y ) //height { for(x=0;xPicture->Width;x ) //width { TCColor c=Image1->Canvas->Pixels[x][y]; if ( c.Color!=RGB(255,255,255) ) { if(max_x<=x) { max_x=x;} else { if(x<=min_x) {min_x=x;} else { max_x=max_x; min_x=min_x; } }//end-else x if(max_y<=y) { max_y=y;} else { if(y<=min_y) {min_y=y;} else { max_y=max_y; min_y=min_y; } }//end-else y }//end if color }//end for pixel-x } //end for pixel-y Image1->Canvas->Rectangle(min_x,min_y,max_x,max_y ); } //Btn6 end 發表人 - hala 於 2005/05/24 00:47:17
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-24 08:56:54 IP:210.68.xxx.xxx 未訂閱
您好:    PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-24 10:28:50 IP:61.228.xxx.xxx 未訂閱
hala,    你就單純的把判斷式改成下面這樣看看
        if ( c!=RGB(255,255,255) )
        {
        if(x>=max_x) max_x=x;
        if(x<=min_x) min_x=x;
        if(y>=max_y) max_y=y;
        if(y<=min_y) min_y=y;
        }
hala
一般會員


發表:1
回覆:1
積分:0
註冊:2005-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-24 20:26:05 IP:220.134.xxx.xxx 未訂閱
引言: hala, 你就單純的把判斷式改成下面這樣看看
        if ( c!=RGB(255,255,255) )
        {
        if(x>=max_x) max_x=x;
        if(x<=min_x) min_x=x;
        if(y>=max_y) max_y=y;
        if(y<=min_y) min_y=y;
        }
謝謝這位大大的回文^^ 但是~我試了這位大大的方法之後"不能RUN"~ DEBUG出現一堆錯誤... 原來的程式碼可以判斷"X"ㄉ最大值與最小值 但是"Y"出現ㄉ最大值跟最小值是錯誤的!~
smilebye
一般會員


發表:21
回覆:33
積分:10
註冊:2004-01-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-25 22:58:25 IP:220.135.xxx.xxx 未訂閱
抱歉 按錯了 變兩篇 <>< face="Verdana, Arial, Helvetica">引言: hala您好: 改成以下程式碼看看,PS.裡面要是多個區塊的話 會有錯誤唷! 參考看看
 int x,y;
   TRect TheRect;
   int max_x=0,min_x=Image1->Picture->Width;
   int max_y=0,min_y=Image1->Picture->Height;        for(y=0;yPicture->Height;y  ) //height
    {
      for(x=0;xPicture->Width;x  ) //width
      {
         TColor c =Image1->Canvas->Pixels[x][y];
         if ( c!=RGB(255,255,255) )
         {
            if(x>=max_x) max_x=x;
            if(x<=min_x) min_x=x;
            if(y>=max_y) max_y=y;
            if(y<=min_y) min_y=y;
         }          }//end for pixel-x
    } //end for pixel-y
    TheRect = Rect(min_x,min_y,max_x,max_y);
    Image1->Canvas->Brush->Color = clRed;
    Image1->Canvas->FrameRect(TheRect);//畫空心矩形 
大家好...我是程式設計的肉腳 還請多幫忙唷~ 大家好...我是程式設計的肉腳 還請多幫忙唷~ 發表人 - smilebye 於 2005/05/25 23:00:12
------
我是新手,程式設計的菜鳥>< 嗚~請多幫忙唷!
系統時間:2024-05-19 20:34:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!