由于此地板涉嫌违规,因此它将折叠在系统中以隐藏此地板并显示此地板
/*
*这个程序是读取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 (;
}