C语言编程的问题 15
《程序设计基础》大作业题目一、使用Windows的“画图”工具制作2个bmp图象文件。图象文件要求:1、1个图象内容随意,1个为黑背景图象(红=0,绿=0,蓝=0);2、...
《程序设计基础》大作业题目
一、 使用Windows的“画图”工具制作2个bmp图象文件。
图象文件要求: 1、1个图象内容随意,1个为黑背景图象(红=0,绿=0,蓝=0);
2、图象宽、高随意;
3、不压缩的24位真彩图。
二、编写程序处理以上2个bmp图象文件:
1、显示任一bmp图象文件的有关信息,包括:
A、文件标志;
B、文件大小;
C、图象宽高;
D、色彩位数。
2、在黑背景的bmp图象文件中使用程序语句画图形:
A、红色长方形;
B、黄色正弦曲线。
注:A、不压缩24位真彩bmp图的每个点占3个字节,第1字节为蓝,第2字节为绿,第3字节为红。一行所占的字节数是4的倍数,不足的以0填充。
B、使用Windows的“画图”工具显示由程序画好的bmp图象文件。
3、使用程序创建一个298╳200(象素:宽╳高)、有红、绿、蓝三个色块的24位色bmp图象文件,然后使用Windows的“画图”工具显示。
注:A、可以随意输入文件名。 展开
一、 使用Windows的“画图”工具制作2个bmp图象文件。
图象文件要求: 1、1个图象内容随意,1个为黑背景图象(红=0,绿=0,蓝=0);
2、图象宽、高随意;
3、不压缩的24位真彩图。
二、编写程序处理以上2个bmp图象文件:
1、显示任一bmp图象文件的有关信息,包括:
A、文件标志;
B、文件大小;
C、图象宽高;
D、色彩位数。
2、在黑背景的bmp图象文件中使用程序语句画图形:
A、红色长方形;
B、黄色正弦曲线。
注:A、不压缩24位真彩bmp图的每个点占3个字节,第1字节为蓝,第2字节为绿,第3字节为红。一行所占的字节数是4的倍数,不足的以0填充。
B、使用Windows的“画图”工具显示由程序画好的bmp图象文件。
3、使用程序创建一个298╳200(象素:宽╳高)、有红、绿、蓝三个色块的24位色bmp图象文件,然后使用Windows的“画图”工具显示。
注:A、可以随意输入文件名。 展开
4个回答
展开全部
/*第一题*/
#include<stdio.h>
typedef struct tagBITMAPFILEHEADER
{
unsigned int bfType;
unsigned long bfSize;
unsigned int bfReserved1;
unsigned int bfReserved2;
unsigned long bfoffBits;
}BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER
{
unsigned long biSize;
unsigned long biWidth;
unsigned long biHeight;
unsigned int biPlanes;
unsigned int biBitCount;
unsigned long biCompression;
unsigned long biSizeImage;
unsigned long biXPelsPerMeter;
unsigned long biYPelsPerMeter;
unsigned long biClrUsed;
unsigned long biClrImportant;
} BITMAPINFOHEADER;
main()
{BITMAPFILEHEADER file;
BITMAPINFOHEADER info;
char *ch[2];
FILE *fp;
int i,j;
system("cls");
fp=fopen("c:\\test.bmp","rb");
fread(&file,sizeof(BITMAPFILEHEADER),1,fp);
fread(&info,sizeof(BITMAPINFOHEADER),1,fp);
ch[0]=&file.bfType;
ch[1]=ch[0]+1;
printf("bf type is ");
for(i=0;i<2;i++)
printf("%c",*ch[i]);
putchar('\t');
printf("bf size is %ld\n",file.bfSize);
printf("bi width is %ld bi height is %ld\n",info.biWidth,info.biHeight);
printf("bi bit count is %d",info.biBitCount);
getch();
fclose(fp);
}
#include<stdio.h>
typedef struct tagBITMAPFILEHEADER
{
unsigned int bfType;
unsigned long bfSize;
unsigned int bfReserved1;
unsigned int bfReserved2;
unsigned long bfoffBits;
}BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER
{
unsigned long biSize;
unsigned long biWidth;
unsigned long biHeight;
unsigned int biPlanes;
unsigned int biBitCount;
unsigned long biCompression;
unsigned long biSizeImage;
unsigned long biXPelsPerMeter;
unsigned long biYPelsPerMeter;
unsigned long biClrUsed;
unsigned long biClrImportant;
} BITMAPINFOHEADER;
main()
{BITMAPFILEHEADER file;
BITMAPINFOHEADER info;
char *ch[2];
FILE *fp;
int i,j;
system("cls");
fp=fopen("c:\\test.bmp","rb");
fread(&file,sizeof(BITMAPFILEHEADER),1,fp);
fread(&info,sizeof(BITMAPINFOHEADER),1,fp);
ch[0]=&file.bfType;
ch[1]=ch[0]+1;
printf("bf type is ");
for(i=0;i<2;i++)
printf("%c",*ch[i]);
putchar('\t');
printf("bf size is %ld\n",file.bfSize);
printf("bi width is %ld bi height is %ld\n",info.biWidth,info.biHeight);
printf("bi bit count is %d",info.biBitCount);
getch();
fclose(fp);
}
展开全部
有难度
分太抵了
分太抵了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没难度,但很烦,分太底.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询