技术学习分享_一航技术 技术资讯 观世界赛事,品足球人生 – 2022世界杯

观世界赛事,品足球人生 – 2022世界杯

广告位

观世界赛事,品足球人生 – 2022世界杯

1.卡塔尔世界杯百科

       2022年卡塔尔世界杯(英语:FIFA World Cup Qatar 2022)是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。除此之外,卡塔尔世界杯还是首次在北半球冬季举行、首次由从未进过世界杯决赛圈的国家举办的世界杯足球赛。

       2020年7月15日,2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行。2022年6月15日,决赛阶段球队全部确定。 [59] 该届赛事揭幕战于11月21日0时(当地时间11月20日19时)进行,由东道主卡塔尔对阵厄瓜多尔;决赛于12月18日23时(当地时间12月18日18时)在卢塞尔体育场进行。

观世界赛事,品足球人生 – 2022世界杯

2.球王贝利

 谈起世界杯,就不禁联想到小学时学习的课文《球王贝利》。这是我第一个了解到球探的风云人物贝利。埃德松·阿兰特斯·多·纳西门托(葡萄牙语:Édson Arantes do Nascimento),又名贝利(葡萄牙语:Pelé,葡萄牙语译名:佩莱),1940年10月23日出生于巴西特雷斯科拉松伊斯,巴西著名足球运动员,司职前锋,曾被国际足联誉为“球王”(The King Of Football)。

 1956年,贝利于桑托斯足球俱乐部开始职业生涯,期间获得2次南美解放者杯冠军、2次洲际杯冠军、6次巴西全国锦标赛冠军(前身),11次圣保罗州足球甲级联赛冠军。1957年,贝利入选巴西国家队,代表巴西队参赛92场打进77球,夺得1958、1962、1970年三届世界杯冠军,为巴西永久保留雷米特杯,成为唯一曾三夺世界杯冠军的球员。

 1971年7月,贝利宣布退出巴西队。1974年10月,贝利宣布退役。1975年,贝利在美国纽约宇宙足球俱乐部复出,并在1977年获得总冠军,同年10月再次宣布退役。

 1980年,贝利被法国《队报》联合多家报社评为“20世纪最佳运动员” ,1999年被国际奥委会评为“20世纪最佳运动员之一” ,2000年获首届劳伦斯终身成就奖 2001年被国际足联评为“20世纪最佳球员之一”。同年《法国足球》组织30位金球奖得主将其联选为最佳球员 ,亦被《时代周刊》列入20世纪最具影响力的100个人物。2012年,贝利被金足奖官方授予“史上最佳球员”称号。 2013年,获得首届荣誉金球奖。

 一直记得有这样一段话,当有一个记者问他:“你哪一个球踢得最好?”他回答说“下一个!”而当他在足坛上崭露头角已成为世界著名球员,并踢进一千个球后,记者又问道:“你哪一个球踢得最好?”他仍然回答:“下一个!”这不禁鼓舞我们不能止步于眼前的成就,应该不断向前迈入,永不止步,活到老学到老。

3.2022世界杯

  随着2022世界杯的打响,看着各个球队在赛场上为了国家荣誉而战,虽然时有爆冷门的战队,也许,这就是体育的魅力,这就是足球的魅力,只要敢于拼搏,也许就会有着出其不意的成绩。虽然在以前不怎么看足球赛事,但在这场世界赛事中,也让我认识了不小名气选手。如最后的桑巴舞者 –内马尔;在今天凌晨3点顶住压力的阿根廷战队的梅西等等;最后也希望中国男足加油,早日打入世界杯。加油,中国男足!

4.C语言下的球状 ⚽️ 的足球

观世界赛事,品足球人生 – 2022世界杯

观世界赛事,品足球人生 – 2022世界杯

观世界赛事,品足球人生 – 2022世界杯

开发平台: Ubuntu18.04.6

GUI库: GTK2.0

开发语言: C语言

  本示例采用C语言开发,显示球状方法有很多,这里采用最原始的方式处理。只需要提供画点函数即可实现。

  利用GTK库中的图像渲染GDK库实现,调用底层画点函数gdk_draw_point。将 ⚽️的显示球状进行取模,获取点阵码信息,最后实现显示。

  •  点阵码取模

  采用PCtoLCD2002工具进行取模,将球状图片导入,生成点阵信息。

观世界赛事,品足球人生 – 2022世界杯

  设置取模方式,采用高位在前,阴码(点亮为1),C51格式。

观世界赛事,品足球人生 – 2022世界杯

  生成的点阵码信息。

观世界赛事,品足球人生 – 2022世界杯

#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <math.h>
void gtk_drawBap(GdkDrawable* drawable,gint w,gint h,gint x,gint y,const guchar *buff)
{
gint x0=x;
guchar temp;
gint i,j;
/*创建gc*/
GdkGC* gc_white = gdk_gc_new(drawable);
/*设置颜色*/
GdkColor color;
color.red = 0xFFFF;
color.green =0xFFFF;
color.blue = 0xFFFF;
gdk_gc_set_rgb_fg_color (gc_white, &color);

GdkGC* gc_black = gdk_gc_new(drawable);
color.red = 0;
color.green =0;
color.blue = 0;
gdk_gc_set_rgb_fg_color (gc_black, &color);

for(i=0;i<h*w/8;i++)
{
temp=buff[i];
for(j=0;j<8;j++)
{
if(temp&0x80)
{
gdk_draw_point(drawable,gc_black,x0,y);
}
x0++;
temp<<=1;
}
if(x0-x==w)
{
x0=x;
y++;
}
}
}

/*信号处理函数*/
int draw_image(GtkWidget *widget,GdkEvent *event,gpointer data)
{
/*将widget转换为drawable 指针*/
GdkDrawable* drawable = GDK_DRAWABLE(widget->window);
gtk_drawBap(drawable,200,137,100,170,buff);
return FALSE;
}
void change_background(GtkWidget *widget, int w, int h, const gchar *path)
{
//1.允许窗口可以绘图
gtk_widget_set_app_paintable(widget, TRUE);
gtk_widget_realize(widget);
/* 更改背景图时,图片会重叠
* 这时要手动调用下面的函数,让窗口绘图区域失效,产生窗口重绘制事件(即 expose 事件)。
*/
gtk_widget_queue_draw(widget);
GdkPixbuf *src = gdk_pixbuf_new_from_file(path, NULL);
GdkPixbuf *dst = gdk_pixbuf_scale_simple(src,w,h,GDK_INTERP_BILINEAR);

/* 创建pixmap图像;
* NULL:不需要蒙版;
* 123: 0~255,透明到不透明
*/
GdkPixmap *pixmap = NULL;
gdk_pixbuf_render_pixmap_and_mask(dst,&pixmap,NULL,0);
// 通过pixmap给widget设置一张背景图,最后一个参数必须为: FASL
gdk_window_set_back_pixmap(widget->window,pixmap,FALSE);

g_object_unref(src);
g_object_unref(dst);
g_object_unref(pixmap);
return;
}
int main(int argc,char *argv[])
{
GtkWidget *window;
GtkWidget *drawarea;
GtkWidget *hbox;
GtkWidget *label;
/*gtk初始化*/
gtk_init(&argc,&argv);
/*创建窗口*/
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"卡塔尔世界杯");
/*固定窗口大小*/
gtk_window_set_resizable (GTK_WINDOW(window),FALSE);
/*设置窗口大小*/
gtk_widget_set_size_request(window,800,480);
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER_ALWAYS);//居中显示
/*连接信号*/
g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);

/*创建横向盒*/
hbox=gtk_hbox_new(FALSE,0);
gtk_container_add(GTK_CONTAINER(window),hbox);
gtk_widget_show(hbox);


/*创建绘图区域*/
gtk_widget_push_visual(gdk_rgb_get_visual());
gtk_widget_push_colormap(gdk_rgb_get_cmap());
drawarea=gtk_drawing_area_new();
gtk_widget_pop_visual();
gtk_widget_pop_colormap();
gtk_container_add(GTK_CONTAINER(hbox),drawarea);
/*显示绘图区域*/
gtk_widget_show(drawarea);
/*连接信号*/
g_signal_connect(G_OBJECT(drawarea),"expose_event",G_CALLBACK(draw_image),NULL);
gtk_widget_set_size_request(GTK_WIDGET(drawarea),400,480);

/*创建标签*/
label=gtk_label_new("姓名:");
gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,FALSE,0);
gtk_label_set_markup(GTK_LABEL(label),"<span foreground='red' font_desc='35'>2022卡特尔世界杯n为世界杯喝彩!</span>");
gtk_widget_show(label);

gtk_widget_show_all(window);
gtk_main();
}

5.球形显示示例

  采用C语言最原始方式,将图片生成点阵数据,调用画点函数显示球形。

观世界赛事,品足球人生 – 2022世界杯

观世界赛事,品足球人生 – 2022世界杯

6.命令行下输出通过printf输出示例

观世界赛事,品足球人生 – 2022世界杯

#include <stdio.h>
#define MAP_W 64
#define MAP_H 64
const char buff[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x0E,0x70,0x0F,0xF8,0x00,0x00,0x00,0x00,0x3B,0xC0,0x03,0xFE,0x00,0x00,0x00,0x00,0xE7,0x00,0x00,0x7F,0x80,0x00,0x00,0x03,0xFC,0x00,0x00,0x61,0xE0,0x00,0x00,0x07,0xF8,0x00,0x00,0x60,0x60,0x00,0x00,0x0F,0xF8,0x00,0x00,0x60,0x38,0x00,
0x00,0x1F,0xF8,0x00,0x00,0x60,0x1C,0x00,0x00,0x3F,0xF8,0x00,0x00,0x40,0x06,0x00,0x00,0x7F,0xF8,0x00,0x00,0x40,0x03,0x00,0x00,0xFF,0xF0,0x00,0x00,0x60,0x01,0x00,0x01,0xFF,0xF0,0x00,0x01,0xE0,0x01,0xC0,0x01,0xFF,0xF8,0x00,0x07,0xF0,0x00,0x40,0x03,0xFF,0xFC,0x00,0x1F,0xF0,0x00,0x60,0x03,0xFF,0xFF,0xC0,0x7F,0xF8,0x00,0x60,0x07,0xFF,0xC0,0xFF,0xFF,0xFC,0x00,0x30,0x07,0xFF,0x00,0x1F,0xFF,0xFE,0x00,0x30,
0x0F,0xFE,0x00,0x07,0xFF,0xFF,0x00,0x38,0x0F,0xFC,0x00,0x03,0xFF,0xFF,0x80,0x38,0x1C,0x78,0x00,0x03,0xFF,0xFF,0xC0,0x38,0x18,0x30,0x00,0x03,0xFF,0xFF,0xE0,0x3C,0x18,0x30,0x00,0x03,0xFF,0xFF,0xE0,0x3C,0x10,0x20,0x00,0x03,0xFF,0xFF,0xFC,0x3C,0x30,0x20,0x00,0x03,0xFF,0xFF,0xEF,0xFC,0x30,0x20,0x00,0x01,0xFF,0xFF,0xC0,0x7C,0x20,0x20,0x00,0x01,0xFF,0xFF,0xC0,0x3C,0x20,0x20,0x00,0x01,0xFF,0xFF,0x80,0x3E,
0x20,0x20,0x00,0x01,0xFF,0xFF,0x00,0x1E,0x20,0x20,0x00,0x03,0xFF,0xFF,0x00,0x1E,0x20,0x20,0x00,0x03,0xFF,0xFE,0x00,0x1E,0x20,0x30,0x00,0x07,0x3F,0xFE,0x00,0x0E,0x20,0x30,0x00,0x1C,0x07,0xFC,0x00,0x0E,0x20,0x38,0x00,0x38,0x00,0x7C,0x00,0x0E,0x20,0x3E,0x00,0x60,0x00,0x18,0x00,0x0C,0x30,0x3F,0xC1,0xC0,0x00,0x18,0x00,0x0C,0x30,0x3F,0xFB,0x80,0x00,0x08,0x00,0x0C,0x10,0x7F,0xFF,0x00,0x00,0x0C,0x00,0x1C,
0x10,0x7F,0xFE,0x00,0x00,0x0C,0x00,0x14,0x18,0x7F,0xFE,0x00,0x00,0x0C,0x00,0x1C,0x1C,0x7F,0xFE,0x00,0x00,0x0C,0x00,0x38,0x0E,0xFF,0xFE,0x00,0x00,0x04,0x00,0x28,0x0F,0xFF,0xFE,0x00,0x00,0x04,0x00,0x78,0x04,0xFF,0xFF,0x00,0x00,0x04,0x00,0xD0,0x06,0x7F,0xFF,0x00,0x00,0x07,0x01,0xE0,0x02,0x3F,0xFF,0x00,0x00,0x0F,0xFF,0x20,0x03,0x3F,0xFF,0x00,0x00,0x1F,0xFF,0x60,0x01,0x1F,0xFF,0x80,0x00,0x3F,0xFE,0xC0,
0x01,0xDF,0xFF,0x80,0x00,0x7F,0xFF,0x80,0x00,0x6F,0xFF,0xC0,0x00,0xFF,0xFF,0x00,0x00,0x67,0xFF,0xE0,0x01,0xFF,0xFE,0x00,0x00,0x33,0xFF,0xFE,0x03,0xFF,0xFC,0x00,0x00,0x1D,0xF0,0x07,0xFF,0xFF,0xF8,0x00,0x00,0x0F,0x80,0x00,0x7F,0xFF,0xF0,0x00,0x00,0x03,0x80,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x03,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x00,0x00,0xE0,0x00,0x07,0xFF,0x80,0x00,0x00,0x00,0x38,0x00,0x07,0xFC,0x00,0x00,
0x00,0x00,0x0F,0x00,0x07,0xF8,0x00,0x00,0x00,0x00,0x01,0xFE,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};/*"C:Users87256Desktop1.bmp",0*/
int main()
{
int i,j;
int cnt=0;
unsigned char temp;
for(i=0;i<MAP_H*MAP_W/8;i++)
{
temp=buff[i];
for(j=0;j<8;j++)
{
cnt++;
if(temp&0x80)
{
printf("*");
}
else printf(" ");
temp<<=1;
}
if(cnt==MAP_W)
{
cnt=0;
printf("n");
}
}
}
本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部