首页 > 编程知识 正文

raw文件 c++,c语言打开文件格式

时间:2023-05-05 20:11:34 阅读:129761 作者:2250

由于此地板涉嫌违规,因此它将折叠在系统中以隐藏此地板并显示此地板

/*

*这个程序是读取jpg图像的

*然后,添加jpg图像并打开保存

*/#包含

#包含

#包含

#包含

#include #define SOI0xD8 //文件标头

#define EOI0xD9 //文件末尾

#定义#define APP00xE0 //交换格式和图像识别信息

#define SOF00xC0 //帧开始(标准JPEG ) ) ) ) ) ) ) ) )。

#定义#define DQT0xDB //量化表

#define DHT0xC4 //定义Huffman表(霍夫曼表) ) ) ) ) ) ) ) )。

#define SOS0xDA //扫描线开始

#定义#define DRI0xDD //重新启动间隔

#define COM0xFE //注释unsigned short jpgWidth; //图像宽度

无符号短整型; //图像高度

unsigned char bitDepth; //图像类型,每像素位数

无符号短整型jpgxpelspermeter; //水平分辨率

无符号短jpgypelspermeter; //垂直分辨率

unsigned char SOF_find=0; char readPath[100]; //图像路径

无符号字符字节; //当前字节

无符号短整型word; //当前word

未指定字节销售点; //当前字节的位置boolreadjpg(char*jpgname ); //读取路径

void showjpg (; //显示

语音聊天(文件* FP ); //获取大小/*******************分割线* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。

(boolreadjpg(char*jpgname ) ) ) ) ) ) ) ) )。

{

unsigned char Flag_1,Flag_2; //文件头FFD8

无符号短距离,不确定性;

/*unsigned char SOS_find=0;

未指定文件长度;

无符号字符长度; */

//打开通过二进制读取指定的图像文件

FILE *fp

FP=fopen(jpgname,' rb ' );

if(FP==0) )。

{

perror(jpgname ); //提示错误信息

getch (;

exit(exit_failure; //出现错误后,退出程序。

(/*

判断文件类型是否为JPG

检查第1、2字节

*/

fread (flag _ 1,1,1,fp );

fseek(FP,1L,0 );

fread (flag _ 2,1,1,fp );

if () ) flag_1!=0xff||(flag_2!=0xd8 )

{

printf(notajpgfile? (SOI(n );

exit(exit_failure;

}

//开始寻找开始位置

getjpgsize(FP; 流量(FP );

返回1;

} void showjpg () )

{

//窗口大小为图像大小

initgraph(jpgwidth、jpgHeight 40 );

setbkcolor (白色);

setcolor (黑色;

cleardevice (; setfont(16、8、'宋体');

char width[5],height[5];

sprintf(width,' %d ',jpgWidth );

sprintf(height,' %d ',jpgHeight ); outtextxy (0,0,'图像宽度: ';

outtextxy (10文本宽度)、图像宽度:0、宽度); outtextxy (jpg width/2,0,'图像高度: ' );

outtextxy (jpg width/210 text width ) (“图像高度”),0,height ); IMAGE img; 定义IMAGE对象

loadimage(img,读取路径); //将图像导入img对象

putimage (0,40,img ); //在坐标(0,0 )处的位置处显示IMAGE对象getch );

关闭图形(;

//取得照片的尺寸

是语音聊天(文件* FP )

{ unsigned char HeightH;

无符号字符高度;

无符号char widthh;

无符号char widthl;

unsigned char BitDepth;

while (! SOF_find )

{

currentbyte=fgetc(FP;

目前字节!=0xFF )

继续;

//找到标记

currentbyte=fgetc(FP;

是交换机(当前字节)

{

case APP0: break;

case SOF0:

fseek(FP,2L,1 ); bitdepth=fgetc(FP; //图像的高位和低位

heighth=fgetc(FP; heightl=fgetc(FP; //图像宽度的上位和下位

widthh=fgetc(FP; widthl=fgetc(FP; SOF_find=1;

布雷克;

默认:

布雷克;

}

}

jpgHeight=HeightH * 256 HeightL;

jpgWidth=WidthH * 256 WidthL; } void main () ) )。

{

printf ('输入图像的完整路径和文件名:n );

读取路径;

读取路径(read jpg );

printf (bitdepth=% xnheight=% xnwidth=% xn ',bitdepth,jpgHeight,jpgWidth );

printf (jpgxpelspermeter=% xnjpgypelspermeter=% xn ',jpgxpelspermeter,jpgypelspermeter ); printf (按任意键显示图像n );

getch (;

showjpg (;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。