導航:首頁 > 動漫圖片 > c怎麼保存圖片

c怎麼保存圖片

發布時間:2023-08-26 13:06:17

Ⅰ 用c語言如何讀取和保存jpg圖片文件

有這樣一個二進制文件,大小在100M左右,裡面存放了多張JPG圖片,文件格式如下:
無關數據區
JPG圖片數據區
無關數據區
JPG圖片數據區
無關數據區
JPG圖片數據區
......
已知JPG圖片起始標志為:「FF
D8
FF
E0
00
10
4A」,結束標志為:「FF
D9」。
現想把這些JPG圖片數據從該文件中讀出來,生成一個個單獨的圖片文件,該如何做呢?
幫你寫了個程序,
測試了只含有一個圖片信息的文件
int
len=0;
int
filesn=0;
void
ReadJpg(CFile
*sfp,const
char
*dstfile,unsigned
char
a,unsigned
char
b)
{
CFile
nf;
nf.Open(dstfile,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);
unsigned
t=0,t1=0;
nf.Write(&a,sizeof(char));
nf.Write(&b,sizeof(char));
while(1)
{
sfp->Read(&t,sizeof(char));
len++;
nf.Write(&t,sizeof(char));
if(t==0xFF)
{
sfp->Read(&t1,sizeof(char));
len++;
if(t1==0xD9)
break;
else
nf.Write(&t1,sizeof(char));
}
}
nf.Close();
}
調用:
void
test()
{
CFile
fp;
fp.Open("86b05621.jpg",CFile::modeRead|CFile::typeBinary);//文件名改一下
unsigned
char
a=0,b=0;
len=0;
while(1)
{
fp.Read(&a,sizeof(char));
len++;
if(len>=fp.GetLength())
break;
if(a==0xFF)
{
fp.Read(&b,sizeof(char));
len++;
if(b==0xD8)
{
filesn++;
char
filename[256];
sprintf(filename,"Jpg
%d.jpg",filesn);
ReadJpg(&fp,filename,a,b);
}
}
}
fp.Close();
}
思路是,先得到FF的值,然後再判斷下一位是否是0xD8,
但這里要說明一下,如果你的其它數據信息里也含有FF
D8值的話就會出錯了,
所以為保險起見,應該再多比較幾位,
JPG的頭是固定的,再往下就是EF
E0
00
1E,
建議樓主再往下比較四位比較保險(在程序中稍作修改即可)
你是不是在
分析某個
游戲的或程序的資源文件呀,如果是的話,這個資源文件應該配有一個
索引文件!或在其文件自身。索引可以列表索引,鏈表形示……
如果是你自已生成的文件包,最好加上索引,因為這樣可以提高效率!

Ⅱ C語言怎麼輸出一張圖片

輸出到文件的話,按照指定圖片格式,寫入文件即可。

電腦型號:微星 GF63 Thin 9SC

系統版本:Microsoft Windows 10

文本文件

1、打開電腦上要讀取的文本文件。



Ⅲ 用c語言如何讀取和保存jpg圖片文件

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//獲取文件名為filename的文件大小。

{

FILE *fp = fopen(filename, "rb");//打開文件。

int size;

if(fp == NULL) // 打開文件失敗

return -1;

fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。

size=ftell(fp);//獲取文件指針偏移量,即文件大小。

fclose(fp);//關閉文件。

return size;

}

int main ()

{

int size=0;

size=file_size("qw");

printf("%d ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}

(3)c怎麼保存圖片擴展閱讀:

c語言讀取TXT文件:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_LINE 1024

int main()

{

char buf[MAX_LINE]; /*緩沖區*/

FILE *fp; /*文件指針*/

int len; /*行字元個數*/

if((fp = fopen("test.txt","r")) == NULL)

{

perror("fail to read");

exit (1) ;

}

while(fgets(buf,MAX_LINE,fp) != NULL)

{

len = strlen(buf);

buf[len-1] = ''; /*去掉換行符*/

printf("%s %d ",buf,len - 1);

}

return 0;

}




閱讀全文

與c怎麼保存圖片相關的資料

熱點內容
孕婦簡筆畫圖片大全可愛 瀏覽:489
鉛筆人物圖片男生古風 瀏覽:355
圖片壁紙男生專用低頭 瀏覽:512
很簡單的很可愛的圖片 瀏覽:21
發型屋女生短發圖片 瀏覽:487
男女孩圖片動畫圖片 瀏覽:819
女生高逼格圖片卡通 瀏覽:249
和平精英金耀白虎衣服圖片 瀏覽:263
女生蜷縮在被子里卡通圖片 瀏覽:853
女生圖片痞 瀏覽:9
思景紙價格圖片 瀏覽:431
可愛圖片米妮 瀏覽:924
怎麼把圖片上的文字轉換到WORD文檔里 瀏覽:248
文字圖片白色背景怎麼製作 瀏覽:630
編辮子的女孩圖片 瀏覽:560
閣樓的動漫圖片 瀏覽:84
顏色衣服褲子搭配什麼顏色好看圖片 瀏覽:406
雙葉沙發圖片及價格 瀏覽:798
五人閨蜜圖片動漫圖片 瀏覽:743
2016新款衣服圖片 瀏覽:636