牛骨文教育服务平台(让学习变的简单)
博文笔记

C++语言读取和保存单张图片的代码

创建时间:2017-02-19 投稿人: 浏览次数:2529

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


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。