C++語言讀取和儲存單張圖片的程式碼
阿新 • • 發佈:2019-01-05
使用C++實現對單張圖片的讀取和儲存,C語言可以參考,比較簡單。
#include<iostream> using namespace std; void main(void) { //儲存輸入影象檔名和輸出影象檔名 char InImgName[10]; char OutImgName[10]; //影象資料長度 int length; //檔案指標 FILE* fp; //輸入要讀取的影象名 cout<<"Enter Image name:"; cin>>InImgName; //以二進位制方式開啟影象 if ( (fp=fopen(InImgName, "rb" ))==NULL ) { cout<<"Open image failed!"<<endl; exit(0); } //獲取影象資料總長度 fseek(fp, 0, SEEK_END); length=ftell(fp); rewind(fp); //根據影象資料長度分配記憶體buffer char* ImgBuffer=(char*)malloc( length* sizeof(char) ); //將影象資料讀入buffer fread(ImgBuffer, length, 1, fp); fclose(fp); //輸入要儲存的檔名 cout<<"Enter the name you wanna to save:"; cin>>OutImgName; //以二進位制寫入方式 if ( (fp=fopen(OutImgName, "wb"))==NULL) { cout<<"Open File failed!"<<endl; exit(0); } //從buffer中寫資料到fp指向的檔案中 fwrite(ImgBuffer, length, 1, fp); cout<<"Done!"<<endl; //關閉檔案指標,釋放buffer記憶體 fclose(fp); free(ImgBuffer); }