程序员的六一儿童节

在这里插入图片描述

文章目录

  • 六一儿童节的起源
  • 六一儿童节的程序员
  • 六一儿童节我想说

六一儿童节的起源

国际儿童节(又称儿童节,International Children’s Day)定于每年的6月1日。为了悼念1942年6月10日的利迪策惨案和全世界所有在战争中死难的儿童,反对虐杀和毒害儿童,以及保障儿童权利。

1949年11月,国际民主妇女联合会在莫斯科举行理事会议,中国和其他国家的代表愤怒地揭露了帝国主义分子和各国反动派残杀、毒害儿童的罪行。会议决定以每年的6月1日为国际儿童节。它是为了保障世界各国儿童的生存权、保健权和受教育权,抚养权,为了改善儿童的生活,为了反对虐杀儿童和毒害儿童而设立的节日。世界上许多国家都将6月1日定为儿童的节日。(来源百度百科

在了解节日背景之前,看到现在六一儿童节孩子们表演节目以及各种联欢活动,以为这是个充满喜庆的节日。了解背景之后有点震惊,可能也是因为真相过于残忍,考虑到对孩子们心灵的冲击,所以无论是课本还是老师都很少提及这个节日的背景(反正我小时候老师,包括课本上没有讲过这段历史,不知道现在是否会讲)。

六一儿童节的程序员

作为程序员要过儿童节吗 如果有小孩可以陪孩子一起过,如果没有,你要是觉得你还是个宝宝也可以过 ,在此使用C语言画一幅涂鸦,表达下六一儿童节程序员的心情。

#include
#include
#include

#pragma pack(1)  

typedef struct {
	unsigned char bfType[2];
	unsigned int bfSize;
	unsigned short bfReserved1;
	unsigned short bfReserved2;
	unsigned int bfOffBits;
}bitmapFileHeader;

typedef struct {
	unsigned int biSize;
	int biWidth;
	int biHeight;
	unsigned short biPlanes;
	unsigned short biBitCount;
	unsigned int biCompression;
	unsigned int biSizeImage;
	int biXPixPerMeter;
	int biYPixPerMeter;
	unsigned int biClrused;
	unsigned int biClrImportant;
}bitmapInfoHeader;

int main(){
	FILE *fp,*fp_txt;
	if((fp=fopen("/fwork4/lihuan/temp/R-C1.bmp","rb"))==NULL){
		perror("can not open file!");
		return -1;
	}
	
	bitmapFileHeader bfHeader;
    printf("bfHeader is %d\r\n",sizeof(bitmapFileHeader));
	fread(&bfHeader,14,1,fp);
	bitmapInfoHeader biHeader;
    printf("biHeader is %d\r\n",sizeof(bitmapInfoHeader));
	fread(&biHeader,40,1,fp);

	int imSize=biHeader.biSizeImage;
	int width=biHeader.biWidth;
	int height=biHeader.biHeight;
	int bitCount=biHeader.biBitCount;
    printf("imSize %d,width %d,height %d,bitCount %d\r\n", imSize, width, height, bitCount);

	fseek(fp,bfHeader.bfOffBits,SEEK_SET);
    printf("bfOffBits is %d", bfHeader.bfOffBits);

	unsigned char*imageData=(unsigned char*)malloc(imSize*sizeof(unsigned char));
	fread(imageData,imSize*sizeof(unsigned char),1,fp);

	int lineBytes=(bitCount*width+31)/32*4;//单行需要的字节数,会有填充
    printf("line Byte is %d\r\n", lineBytes);
	int i,j,k;
	int colour;
	for(i=height -1;i >= 0;i--){
		for(j=0;j<lineBytes;j++){
			colour=*(imageData+lineBytes*i+j);
            for(k=0;k<8;k++)
            {
             colour >>=k;
             if(((colour & 0x01))== 1)
                 printf(".");
             else
                 printf(" ");
            }
		}
		printf("\r\n");
	}
	
	free(imageData);

	fclose(fp);
	return 0;
}

代码是去解析bmp单色的图片,然后有像素的地方输出为点,没有像素的地方输出空格,原bmp图像为:
程序员的六一儿童节_第1张图片
使用程序解析后打印如下,其实这个代码之前在世界杯的时候打印过梅西,可惜那幅画太复杂,打印的效果并不好,当时梅老板还没有夺冠,感兴趣的同学可以看下:程序员的世界杯
程序员的六一儿童节_第2张图片

六一儿童节我想说

作为90后见证了国家的飞速发展,见证了祖国实力的日益强大,避过了老辈人所经历的那些战争与苦难,我们很幸运。但世界仍不太平,大环境日益恶劣,不确定因素逐渐加剧,局部战争、地域、政治冲突下很多国家和人民无法过一个安稳的节日。如果有一天国家需要,我想程序员们也会放下手里键盘,拿起武器去保护身后的人,就像现在的俄罗斯,但愿世界和平,但愿每个人都能过一个安心的节日。

你可能感兴趣的:(其他,随笔)