位图文件放缩算法[馋嘴][困][困]
#include
#include
#include
#include
#pragma pack(1)//防止编译器自动对齐
//定义bmp起始部分
typedef struct WTheader{//位图文件头(用于识别位图文件)
unsigned short bfType;//保存图片类型,标志该文件是位图文件
unsigned long bfSize;//位图文件的大小
unsigned short bfReserved1; //位图文件保留字,必须为0(7-8字节)
unsigned short bfReserved2;// 位图文件保留字,必须为0(9-10字节)
unsigned long bfoffbits;//RGB数据偏移地址,位图数据的起始位置
}WTheader;
typedef struct XXheader{//位图信息头(简化)

unsigned long biSize;//该结构的字节数
unsigned long biWidth;//以像素为单位的图像宽度
unsigned long biHeight;// 以像素为单位的图像长度
unsigned short biPlanes;//目标设备级别,必须为1
unsigned short biBitcount;//每个像素所需的位数,必须是1

unsigned long biSizeImage;//以字节为单位的图像数据的大小

unsigned long biXPelsPerMeter;//位图水平分辨率,每米像素数
unsigned long biYPelsPerMeter;//位图垂直分辨率,每米像素数
unsigned long biClrUsed;//位图实际使用的颜色表中的颜色数
unsigned long biClrlmportant;//位图显示过程中重要的颜色数


}XXheader;
//图片放大缩小函数
void F(WTheader x1,XXheader x2,double t,char *file_x,char *file_y)
{
FILE *X,*Y;//创建文件变量X,Y分别储存原始文件和目标文件的信息
X=fopen(file_x,"rb");//以只读的形式打开原始文件
Y=fopen(file_y,"wb");//以二进制形式进行读写的形式打开目标文件
if(X==NULL||Y==NULL){

printf("打开失败\n");

return ;
}//判断文件是否为空
fread(&x1,sizeof(WTheader),1,X);//用x1接收X中存储的原始文件的位图文件头
fread(&x2,sizeof(XXheader),1,X);//用x2接收X中存储的原始文件的位图信息头
unsigned int xw=x2.biWidth;
printf("原图片的宽:%d\n",xw);//读取原始图像宽度并打印
unsigned int xh=x2.biHeight;
printf("原图片的高:%d\n",xh);//读取原始图像高度并打印
unsigned char* x_pixels=(unsigned char*)malloc(xw*xh*3);//创建指针申请内存用于读入原始位图数据
fseek(X,54,SEEK_SET);//通过fseek函数进行定位,以读入所需的数据
fread(x_pixels,xw*xh*3,1,X);//将原始位图信息读入已申请的内存
unsigned int yw=(int)t*xw;
printf("新图片的宽:%d\n",(int)t*xw);//计算目标图像的图像宽度并打印
unsigned int yh=(int)t*xh;
printf("新图片的高:%d\n",(int)t*xh);//计算目标图像的图像高度并打印
x1.bfSize=yh*yw*3+54;//在x1中写入位图文件的大小
x2.biWidth=yw;//在x2中写入目标图像的图像宽度
x2.biHeight=yh;//在x2中写入目标图像的图像高度
fwrite(&x1,sizeof(WTheader),1,Y) ;// 把x1中数据写入Y
fread(&x2,sizeof(XXheader),1,Y);// 把x1中数据写入Y
int i=0,j=0;
unsigned long dwx,dwy;
unsigned char *puD;
unsigned char *puS;
unsigned char *y_pixels=(unsigned char *)malloc(yh*yw*3);
//通过for的双重循环循环拷贝字节数到目标文件
for(int i=0;i {
dwy=i*t;
puD=y_pixels+i*x2.biWidth*3;//完整的for循环存入的字节量
puS=x_pixels+dwy*x2.biWidth*3;//缩小/放大
for(int j=0;j {

//数据拷贝

dwx=j*t;

memcpy(puD+j*3,puS+ dwx*3,3);//复制字节到目标文件
}
}
fseek(Y,54,SEEK_SET);//通过fseek函数进行定位,以写入目标文件所需的数据
fwrite(y_pixels,yw*yh*3,1,Y);//写入目标文件所需的数据
printf("执行成功\n");
free(x_pixels);free(y_pixels);//释放内存
fclose(X);fclose(Y); //关闭打开的文件
}
//主程序
int main(int argc,char* argv[])
{
WTheader x1;XXheader x2;//创建结构体变量x1,x2分别储存位图文件头和位图信息头
double t=atof(argv[2])/100.0;//通过读取第二个行参数计算伸缩比例
memset(&x1,0,sizeof(WTheader));//把x1中置0
memset(&x2,0,sizeof(XXheader));//把x2中置0
printf("%f\n",t);//打印伸缩比例
F(x1,x2,t,argv[1],argv[3]);//通过读取第一个行参数和第三个行参数计算伸缩比例
return 0;
}

今天的小作文让我想起怜之前在fc上向粉丝介绍自己lost boy的mv剧本:
So we know, I made it a generalized character, so you could either relate to the character, or you can relate to us or the friends. Because you have to realize that, sometimes it's you maybe, sometimes I'm mad,  pushing everything away.
But the most important thing is, the people around you, no matter what you get it, accept them.
怜怜

Aš supjaustyti iki pusės, palaimintas į išvaizdą širdyje, Gu gydytojas yra penkių metrų atstumu, mano kryptimi, arba ploni pečiai, vaikščioti kaip katė nėra garso. Aš sn aplink mano riešo ir greitai bandė baigti darbą rankoje, bet skubėti, žievelės sumušė ... Dievas žino, kokia aš nuobodi išraiška. Jis priėjo prie manęs ir sustojo, žiūrėdamas tarp manęs ir žievelių ant žemės逡


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 一绪的M8就很一般啊太瘦了脂肪少,牛肩肉还可以[疑问]服务员一般推荐m6、m8,牛肩肉还是一个新手服务员不会点餐,让我直接看她的点餐机才点的,心里默默猜测其他肉
  • #李召军正能量##财经评论##思想微评##郑合惠子[超话]# zhhz #16天安利郑合惠子# Day15 因为喜欢惠子而学会的事刚喜欢惠子的时候是个饭圈小白
  • 三星期验孕一道杠。 一个月在教学楼阴暗的厕所隔间里,我看到了两道杠。 他说不可能,吃了药的。金毓婷8元包装两片,我不懂,只吃了一片。 他坐火车来找我。 我订房间
  • 《花庵词选》中既收录了“盛丽如游金张之堂”的作品,又收录了“妖冶如揽嫱施之祛”的作品,更收录了“悲壮如三闾”和“豪俊如五陵”的作品,而且,它以时代为序,以作家为
  • 或者找一个爱自己的人,比如自己的八字对于对方具有很大吸引力的人,这样婚姻则相对稳定,不怕对手来犯。大体就是八字中比劫过旺的缘故,无论男女,都可能因为自己的粗心大
  • 隔壁逆向驶过的列车车身上倒映出橘色的太阳,于是我看了一场列车上的日落。隔壁逆向驶过的列车车身上倒映出橘色的太阳,于是我看了一场列车上的日落。
  • 该楼盘位于贵阳观山湖区金清大道中段,开发商为贵州广大建设投资有限公司,总规划户数为2500户,总规划楼栋数为5栋,绿化率35%,容积率2.4,物业公司为幸福里物
  • 传承国粹,弘扬中华民族优秀传统文化,十三年来景区始终都不忘初心,砥砺奋进,坚持以文化带动旅游的发展思路,举办各种文化活动,取得斐然成绩。)传承国粹,弘扬中华民族
  • 把孤独喂饱,把回忆锁好,对温暖拥抱,与孤独和好,纵使黑夜吞噬了一切,太阳还可以重新回来。刘宇宁@摩登兄弟刘宇宁 ༣摩登兄弟 ☆☆刘宇宁☆ #摩登兄弟 传递正能量
  • 4.我与成长,至死方休。13.一见你,便觉释然了。
  • 市场的火力已经转移到业绩股上面去了,开盘估计就是巅峰。市场的火力已经转移到业绩股上面去了,开盘估计就是巅峰。
  • 】一位不会说普通话的老人向中国电信客服求助,语言不通,又没有家人在身边,要怎么解决手机网络问题呢?六月的一天晚上,中国电信福州10000号客服热线传来一阵急促的
  • 在这么美的地方学潜水太幸福了 虽然中间有很多瞬间以为自己要死了特别想quit 但我还是挺过来了 感谢我的instructor 和朋友们[泪]今天出海最后两次潜水
  • 【周深|2021.10.03央视国庆晚会】 【周深唱儿歌《听我说》好可爱】 【舞台多彩换装也好惊喜】 【周深晚会唱出五谷丰登的感觉】 ☆﹎﹎☆﹎﹎☆﹎﹎☆﹎﹎☆
  • 舍利弗,下方世界有师子佛、名闻佛、名光佛、达摩佛、法幢佛、持法佛,如是等恒河沙数诸佛,各于其国,出广长舌相,遍复三千大千世界,说诚实言:汝等众生,当信是称赞不可
  • 海子的诗歌就是这种行动,它给我们展现了一个浩瀚的前景,让我们开始从当下的现实抬起头来,眺望远方。这种与时光温柔以待,精神上的美好与人生的风景高度的契合。
  • 自我认定过程没花多长时间,但是里面有我七年左右痛苦的自我探寻,期间我也认为我自己是跨性别者(FTM)过,但是发现我对♂性这个群体也没有认同感。没有人生来就是某种
  • 没有了拥挤的人潮,没有了电瓶车的来来往往,街道变得宽敞起来,古城恢复了它本来的面貌,默默地看着它的孩儿们进进出出,或欢笑或悲伤,或开心或哀愁……下雨的日子里,就
  • ❅ ༶•┈┈┈┈୨♡୧┈┈┈┈•༶ ❅ ⇢叮叮当,叮叮当 ⇢铃声响叮当 ⇢c᷉u᷉t᷉e᷉ s᷉e᷉a᷉l᷉༓ c᷉u᷉t᷉e᷉ s᷉e᷉a᷉l᷉
  • 今天认识了自己有时候对他人的洞察还不及小孩子,传统中国人的热情可以是打扰和八卦,关心可以是隐私侵犯和越俎代庖。内在是人格因素,要去理解不同人格特质的行为模式。