⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 转8幅bmp240+64为16k二进制.c

📁 C 转换8幅bmp240+64为16K二进制表
💻 C
字号:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
unsigned char y[16384]={0};
main(int argc,char *argv[])
{	
	unsigned char convert(unsigned char x[],int n);
	FILE *fp1,*fp2,*fp3,*fp4,*fp5,*fp6,*fp7,*fp8,*fp9;
	long ll=0;
	unsigned char ch,x[1940]={0},c=0xff,a,b;
	int i=0,j=0,k=0;
			
	if((fp1=fopen(argv[1],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp2=fopen(argv[2],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}


	if((fp3=fopen(argv[3],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}

	if((fp4=fopen(argv[4],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp5=fopen(argv[5],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp6=fopen(argv[6],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp7=fopen(argv[7],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp8=fopen(argv[8],"rb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	if((fp9=fopen(argv[9],"wb"))==NULL)
	{
		printf("cannot open input file.\n");
		exit(0);
	}
	
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp1,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp1);
			j++;
		}
	}
	convert(x,0);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp2,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp2);
			j++;
		}
	}
	convert(x,1920);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp3,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp3);
			j++;
		}
	}
	convert(x,3840);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp4,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp4);
			j++;
		}
	}
	convert(x,5760);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp5,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp5);
			j++;
		}
	}
	convert(x,7680);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp6,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp6);
			j++;
		}
	}
	convert(x,9600);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp7,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp7);
			j++;
		}
	}
	convert(x,11520);
	
	j=0;
	for(i=0;i<=2016;i=i+32)
	{
		ll=2016+62-i;
		fseek(fp8,ll,0);
		for(k=0;k<=29;k++)
		{
			x[j]=fgetc(fp8);
			j++;
		}
	}
	convert(x,13440);
	
	for(i=0;i<=16383;i++)
	{
		a=y[i]>>1;
		b=y[i]<<7;
		y[i]=a|b;
		y[i]=y[i]^c;
		fputc(y[i],fp9);
	}
	
	fclose(fp1);
	fclose(fp2);
	fclose(fp3);
	fclose(fp4);
	fclose(fp5);
	fclose(fp6);
	fclose(fp7);
	fclose(fp8);
	fclose(fp9);
	
	getchar();
}
	
	
	
	
	
unsigned char convert(unsigned char x[],int n)
{
	int i,j,k,m=0;
	unsigned char bit_test=128;
	unsigned char bit,a,b;	
	
	/*for(k=0;k<=23;k++)*/
	for(k=0;k<=29;k++)
	{
	for(i=m+n;i<=m+7+n;i++)	
	{
		/*for(j=168+k;j>=0+k;j=j-24)*/
		for(j=210+k;j>=0+k;j=j-30)
		
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}		
	}
	m=m+8;
	}
	
	
	/*for(k=192;k<=215;k++)*/
	for(k=240;k<=269;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}
	
	

	for(k=480;k<=509;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}

	
	for(k=720;k<=749;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}
	
	for(k=960;k<=989;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}
	
	for(k=1200;k<=1229;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}
	
	for(k=1440;k<=1469;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}
	
	for(k=1680;k<=1709;k++)
	{
	
	for(i=m+n;i<=m+7+n;i++)
	{
		/*for(j=0+k;j<=168+k;j=j+24)*/
		for(j=210+k;j>=0+k;j=j-30)
		{
			bit=(x[j]&bit_test)?1:0;
			y[i]=y[i]|bit;
			x[j]=x[j]<<1;
			a=y[i]>>7;		/* x[j]循环左移一位*/
			b=y[i]<<1;
			y[i]=a|b;
		}
	}
	m=m+8;
	}

	return 1;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -