請問如何將圖檔轉成陣列後, 再當作參數傳入另一函數.... |
尚未結案
|
vampire23
一般會員 發表:2 回覆:5 積分:1 註冊:2004-11-21 發送簡訊給我 |
請問各位大大:
因我要呼叫test_2....但是test_2中的參數unsigned char *c是要傳入圖檔
(8bit灰階圖)...
所以我在test_1中作讀取圖檔Pixels的動作...然後將其讀取到的值存到一個陣
列再呼叫test_2並傳入相關參數
但是執行後會有問題(好像是資料型態不一致的問題)...
請問各位大大....是否我讀取圖檔的方式不對呢??如果不對...那我該用何種方
式作才可???謝謝!!!
因剛接觸C++....所以不太清楚之間的關係.....
以下是我部份的程式碼...
void test_1(void) { int *a = new int[256]; //Byte *ptr; int i,j; int Wm_width, Wm_height; // Wm_width = MainForm->Wm_Img->Width; Wm_height = MainForm->Wm_Img->Height; // for (i=0;i<256;i ) { a[i]=0; } // for (j=0;j |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 請問各位大大: 因我要呼叫test_2....但是test_2中的參數unsigned char *c是要傳入圖檔 (8bit灰階圖)... 所以我在test_1中作讀取圖檔Pixels的動作...然後將其讀取到的值存到一個陣 列再呼叫test_2並傳入相關參數 但是執行後會有問題(好像是資料型態不一致的問題)... 請問各位大大....是否我讀取圖檔的方式不對呢??如果不對...那我該用何種方 式作才可???謝謝!!! 因剛接觸C ....所以不太清楚之間的關係..... 以下是我部份的程式碼...vampire23你好: [code] 1. unsigned char *意指*c的值域是0~255 2. 而傳入test_2的值為int *a ,意指*a的值域為-65535~0~ 65535 3. 因為a[]是統計各灰階值的數目,數目很有可能超過255,這樣compiler就會有 警告訊息出現。 4. 所以建議test_2()副程式,改成 void test_2( int *c, int width, int height) 5. 如果要將test_2的int *c輸入成影像,最簡單的方式就是去頭去尾。 試試看 [/cod€e]void test_1(void) { int *a = new int[256]; //Byte *ptr; int i,j; int Wm_width, Wm_height; // Wm_width = MainForm->Wm_Img->Width; Wm_height = MainForm->Wm_Img->Height; // for (i=0;i<256;i ) { a[i]=0; } // for (j=0;j |
vampire23
一般會員 發表:2 回覆:5 積分:1 註冊:2004-11-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |