C++读取与保持图片

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 void main(void)
 6 {
 7     //保存输入图像文件名和输出图像文件名
 8     char InImgName[10];
 9     char OutImgName[10];
10     //图像数据长度
11     int length;
12     //文件指针
13     FILE* fp;
14     //输入要读取的图像名
15     cout << "Enter Image name:";
16     cin >> InImgName;
17     //以二进制方式打开图像
18     if ((fp = fopen(InImgName, "rb")) == NULL)
19     {
20         cout << "Open image failed!" << endl;
21         exit(0);
22     }
23     //获取图像数据总长度
24     fseek(fp, 0, SEEK_END);
25     length = ftell(fp);
26     rewind(fp);
27     //根据图像数据长度分配内存buffer
28     char* ImgBuffer = (char*)malloc(length* sizeof(char));
29     //将图像数据读入buffer
30     fread(ImgBuffer, length, 1, fp);
31     fclose(fp);
32     //输入要保存的文件名
33     cout << "Enter the name you wanna to save:";
34     cin >> OutImgName;
35     //以二进制写入方式
36     if ((fp = fopen(OutImgName, "wb")) == NULL)
37     {
38         cout << "Open File failed!" << endl;
39         exit(0);
40     }
41     //从buffer中写数据到fp指向的文件中
42     fwrite(ImgBuffer, length, 1, fp);
43     cout << "Done!" << endl;
44     //关闭文件指针,释放buffer内存
45     fclose(fp);
46     free(ImgBuffer);
47 }

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

猜你喜欢

转载自www.cnblogs.com/hsy1941/p/10568168.html
今日推荐