請問關於編譯完直接當機的狀況.... |
答題得分者是:justdo
|
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
小弟想對圖形做直方圖等化
可是卻出現下面兩個訊息
上面訊息點完確定之後
出現下面訊息
再點完確定後
接著就出現windows說要關閉BCB程式的訊息 小弟把程式碼貼在下面,原本這個程式碼
是我自己從另外一個自己寫的程式擷取出來的
原本寫的那個程式可以編譯,
不過現在複製到另一個程式中卻會直接當掉
小弟把這個新寫的程式,全部功能都砍掉之後
只剩這個直方圖等化的功能
結果還是一樣,所以小弟確定一定是這個複製的部分有問題
請各位大大幫我解惑一下
我困擾好久了,感謝大家~ p.s.我做的視窗為左邊是Image1, 大小為457*185
右邊為Image2,大小跟Image1一樣
而我啟動這個功能的方式是用mainmenu這個元件
另外再請問各位,為何我新寫的程式會無緣故的跟我再多要
一個unit呢?
我前一個程式是用了兩個unit,可是我現在寫的這個
我並沒有include任何其他unit阿?
為何他會主動跟我要,不過新增沒作用的unit後
編譯完依舊會出現BCB強制結束的狀況....
int p1[1000][1000]={0}; void p1Pixel(Graphics::TBitmap *pBmp) { Byte *ptr; for (int i=0;iHeight;i++ ) { ptr=(Byte*)pBmp->ScanLine[i]; for (int j=0;jWidth; j++ ) { p1[i][j]=ptr[j*3]; } } } void he(Graphics::TBitmap *hBmp) { Byte *ptr; float graylevel[256]={0}; int temp; for(int i = 0; i < hBmp->Width ; i++) for(int j = 0; j < hBmp->Height ; j++) { temp = p1[j][i]; graylevel[temp]++; } for(int i = 0 ; i < 256 ; i++) graylevel[i]=(graylevel[i]/((hBmp->Width)*(hBmp->Height))); for(int i = 1 ; i < 256 ; i++) graylevel[i]=graylevel[i]+graylevel[i-1]; for(int i = 0 ; i < 256 ; i++) graylevel[i]=graylevel[i]*255; for(int i = 0; i < hBmp->Width; i++) for(int j = 0; j < hBmp->Height; j++) { temp=p1[j][i]; p1[j][i] = int(graylevel[temp]); } for (int i=0;i發表人 - xdio2 於 2004/11/10 02:24:36 |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |