使用C++實(shí)現(xiàn)對(duì)單張圖片的讀取和保存,C語(yǔ)言可以參考,比較簡(jiǎn)單。
#include<iostream> using namespace std; void main(void) { //保存輸入圖像文件名和輸出圖像文件名 char InImgName[10]; char OutImgName[10]; //圖像數(shù)據(jù)長(zhǎng)度 int length; //文件指針 FILE* fp; //輸入要讀取的圖像名 cout<<"Enter Image name:"; cin>>InImgName; //以二進(jìn)制方式打開圖像 if ( (fp=fopen(InImgName, "rb" ))==NULL ) { cout<<"Open image failed!"<<endl; exit(0); } //獲取圖像數(shù)據(jù)總長(zhǎng)度 fseek(fp, 0, SEEK_END); length=ftell(fp); rewind(fp); //根據(jù)圖像數(shù)據(jù)長(zhǎng)度分配內(nèi)存buffer char* ImgBuffer=(char*)malloc( length* sizeof(char) ); //將圖像數(shù)據(jù)讀入buffer fread(ImgBuffer, length, 1, fp); fclose(fp); //輸入要保存的文件名 cout<<"Enter the name you wanna to save:"; cin>>OutImgName; //以二進(jìn)制寫入方式 if ( (fp=fopen(OutImgName, "wb"))==NULL) { cout<<"Open File failed!"<<endl; exit(0); } //從buffer中寫數(shù)據(jù)到fp指向的文件中 fwrite(ImgBuffer, length, 1, fp); cout<<"Done!"<<endl; //關(guān)閉文件指針,釋放buffer內(nèi)存 fclose(fp); free(ImgBuffer); }以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答