1. 程式人生 > >C++語言讀取和儲存單張圖片的程式碼

C++語言讀取和儲存單張圖片的程式碼

使用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);
 }