圖片切割計算Edge |
答題得分者是:istillloving
|
dimay0922
一般會員 發表:1 回覆:2 積分:0 註冊:2010-01-07 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
|
dimay0922
一般會員 發表:1 回覆:2 積分:0 註冊:2010-01-07 發送簡訊給我 |
嗯嗯!! 謝謝大大!!
我已經會作了!! 但是有新的問題.... 請大大們幫幫我 以下我的程式碼 void __fastcall TForm1::Button4Click(TObject *Sender) { int R,G,B,w,h; int white1=0,white2=0,white3=0,white4=0;//計數器 float Edge1=0,Edge2=0,Edge3=0,Edge4=0; float A1=0,A2=0,A3=0,A4=0; float rite1=0,rite2=0,rite3=0,rite4=0; w=h=0; w= Image1->Picture->Bitmap->Width; h= Image1->Picture->Bitmap->Height; rite1=rite2=rite3=rite4=0; A1=A2=A3=A4=0; Edge1=Edge2=Edge3=Edge4=0; white1=0; //-----------------------------------------------------------------------左上 for(int i=0;i for(int j=0;j R=GetRValue(Image3->Canvas->Pixels[i][j]);//讀取Image3的R值 G=GetGValue(Image3->Canvas->Pixels[i][j]);//讀取Image3的G值 B=GetBValue(Image3->Canvas->Pixels[i][j]);//讀取Image3的B值 if(R==255 && G==255 && B==255) {white1 ;} //白色等於Edge } } Edge1=white1; A1=(w/2)*(h/2); rite1=Edge1/A1; Label1->Caption= IntToStr(w/2); Label2->Caption= IntToStr(h/2); Edit1->Text=Edge1; Edit2->Text=A1; Edit3->Text=rite1; //-----------------------------------------------------------------------右上 white2=0; for(int x=w/2;x for(int y=0;y R=GetRValue(Image3->Canvas->Pixels[x][y]);//讀取Image3的R值 G=GetGValue(Image3->Canvas->Pixels[x][y]);//讀取Image3的G值 B=GetBValue(Image3->Canvas->Pixels[x][y]);//讀取Image3的B值 if(R==255 && G==255 && B==255) {white2 ;} //白色等於Edge } } Edge2=white2; A2=(w/2)*(h/2); rite2=Edge2/A2; Label8->Caption= IntToStr(w/2); Label9->Caption= IntToStr(h/2); Edit4->Text=Edge2; Edit5->Text=A2; Edit6->Text=rite2; //-----------------------------------------------------------------------左下 white3=0; for(int k=0;k for(int l=h/2;l R=GetRValue(Image3->Canvas->Pixels[k][l]);//讀取Image3的R值 G=GetGValue(Image3->Canvas->Pixels[k][l]);//讀取Image3的G值 B=GetBValue(Image3->Canvas->Pixels[k][l]);//讀取Image3的B值 if(R==255 && G==255 && B==255) {white3 ;} //白色等於Edge } } Edge3=white3; A3=(w/2)*(h/2); rite3=Edge3/A3; Label5->Caption= IntToStr(w/2); Label6->Caption= IntToStr(h/2); Edit7->Text=Edge3; Edit8->Text=A3; Edit9->Text=rite3; //-----------------------------------------------------------------------右下 white4=0; for(int p=w/2;p for(int q=h/2;q R=GetRValue(Image3->Canvas->Pixels[p][q]);//讀取Image3的R值 G=GetGValue(Image3->Canvas->Pixels[p][q]);//讀取Image3的G值 B=GetBValue(Image3->Canvas->Pixels[p][q]);//讀取Image3的B值 if(R==255 && G==255 && B==255) {white4 ;} //白色等於Edge } } Edge4=white4; A4=(w/2)*(h/2); rite4=Edge4/A4; Label22->Caption= IntToStr(w/2); Label23->Caption= IntToStr(h/2); Edit10->Text=Edge4; Edit11->Text=A4; Edit12->Text=rite4; }
------
老師給我PASS吧! |
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
|
dimay0922
一般會員 發表:1 回覆:2 積分:0 註冊:2010-01-07 發送簡訊給我 |
|
istillloving
高階會員 發表:33 回覆:182 積分:183 註冊:2008-10-09 發送簡訊給我 |
所謂的質被改了
以程式的觀點下去看的話很簡單阿 就是你一定有改到 所以才會變 不可能你沒有改到他的質 解果他自己變了 檢查一下 哪裡有改到吧 而且我在想 會不會是你的label有殘留影像 運算完加個 Form1->Refresh(); 進去吧 養成一個好習慣 Label23->Caption 改成 Form1->Label23->Caption 也許以後你會使用很多個Form 指定個類別給他吧
------
恩...
編輯記錄
istillloving 重新編輯於 2010-01-09 00:15:52, 註解 無‧
istillloving 重新編輯於 2010-01-09 00:17:38, 註解 無‧ istillloving 重新編輯於 2010-01-09 00:18:38, 註解 無‧ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |