開啟RAW圖檔使用fwrite時發生的錯誤訊息 |
答題得分者是:taishyang
|
etgees
一般會員 發表:10 回覆:11 積分:4 註冊:2008-11-11 發送簡訊給我 |
[code cpp] 請在此區域輸入程式碼 void __fastcall TForm1::open1Click(TObject *Sender) { int i,j,k,a,b,c; char *fname; FILE *ptr_raw; if(OpenDialog1->Execute()) { imagefile=fopen(OpenDialog1->FileName.c_str(),"rb"); //讀進RAW檔 for(i=0;i for(j=0;j for(k=0;k<3;k ) { image[j][i][k]=fgetc(imagefile); //放進3為陣列裡 } } } for(i=0;i for(j=0;j Image1->Canvas->Pixels[i][j]=(TColor)RGB(image[i][j][0],image[i][j][1],image[i][j][2]); //顯示出來 } } } for(i=0;i for(j=0;j Rimage[i][j][0]=image[i][j][0]; Rimage[i][j][1]=image[i][j][1]; Rimage[i][j][2]=image[i][j][2]; //轉存到RImage陣列 } } fwrite(Rimage,sizeof(unsigned char),W*H*dim,result); //寫進result裡, 就是這行出問題.. fclose(result); fclose(imagefile); } //--------------------------------------------------------------------------- void __fastcall TForm1::save1Click(TObject *Sender) { SaveDialog1->Execute(); result=fopen(SaveDialog1->FileName.c_str(),"wt"); 將result內容存進指定檔名的檔案 } [/code] 嗯...主要就是如果有fwrite那行語法, 就會出現 這錯誤句... 要是沒有fwrite這行 開檔可以正常執行並顯示 我是用原本完成的C語言程式改寫過來的 fwrite沒修改,但在BCB就會出這個問題 Compiler全過, 但是在開啟檔案後就出跳出那錯誤訊息 請各位不吝指教 謝! |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
etgees
一般會員 發表:10 回覆:11 積分:4 註冊:2008-11-11 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
//-------------------------------------------------------------------------- void __fastcall TForm1::open1Click(TObject *Sender) { int i, j, k; if(OpenDialog1->Execute()){ FILE *imagefile = fopen(OpenDialog1->FileName.c_str(),"rb"); for(i=0; i < W; i ){ for(j=0; j < H; j ){ for(k=0; k < 3; k ){ image[j][i][k]=fgetc(imagefile); } } } for(i=0; i < W; i ){ for(j=0; j < H; j ){ Image1->Canvas->Pixels[i][j]=(TColor)RGB(image[i][j][2], image[i][j][1], image[i][j][0]); } } for(i=0; i < W; i ){ for(j=0; j < H; j ){ Rimage[i][j][0]=image[i][j][0]; Rimage[i][j][1]=image[i][j][1]; Rimage[i][j][2]=image[i][j][2]; } } fclose(imagefile); } } //--------------------------------------------------------------------------- void __fastcall TForm1::save1Click(TObject *Sender) { if(SaveDialog1->Execute()){ FILE *result = fopen(SaveDialog1->FileName.c_str(),"wt"); fwrite(Rimage, W*H*dim, sizeof(unsigned char), result); fclose(result); } } //--------------------------------------------------------------------------- |
etgees
一般會員 發表:10 回覆:11 積分:4 註冊:2008-11-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |