屏蔽罩,屏蔽框,屏蔽架,金属手机屏蔽框架
20000+套屏蔽罩,屏蔽框,屏蔽架,金属手机屏蔽框架模具制作生产厂家.
20000+套屏蔽罩,屏蔽框,屏蔽架,金属手机屏蔽框架模具制作生产厂家.
咨询电话
1892741511818927415118
首先需要下载allegro的库,可以到官网上下载最新的allegro版本,下载后按照官网的说明安装即可。
接下来需要在代码中添加以下头文件:
#include#include
其中allegro.h是allegro库的头文件,而allegro_primitives.h则是用来绘制基本形状的头文件。
在编写代码前,需要先定义屏蔽罩的形状,可以通过ALLEGRO_VERTEX结构体来定义。比如下面的代码定义了一个以点(100,100)、(500,100)、(500,500)、(100,500)为顶点的正方形:
ALLEGRO_VERTEX vertices[] = { {100, 100, 0, 0, 0, al_map_rgb(0, 0, 0)}, {500, 100, 0, 0, 0, al_map_rgb(0, 0, 0)}, {500, 500, 0, 0, 0, al_map_rgb(0, 0, 0)}, {100, 500, 0, 0, 0, al_map_rgb(0, 0, 0)} };
其中每个顶点包含了x、y坐标、z轴值(通常为0)、贴图坐标(不需要用到)、颜色。
接下来需要创建一个ALLEGRO_BITMAP对象,并将其作为渲染目标。在渲染前需要将屏蔽罩的颜色填充到该对象中:
ALLEGRO_BITMAP *mask = al_create_bitmap(al_get_display_width(display), al_get_display_height(display)); al_set_target_bitmap(mask); al_clear_to_color(al_map_rgb(255, 255, 255));
其中display为ALLEGRO_DISPLAY对象,可以通过al_create_display函数创建。
接下来就可以开始绘制屏蔽罩了:
al_set_target_bitmap(mask); al_draw_prim(vertices, NULL, NULL, 0, 4, ALLEGRO_PRIM_TRIANGLE_FAN);
其中al_draw_prim函数可以传入一个ALLEGRO_VERTEX数组,绘制基本形状。在这个例子中,我们传入了vertices数组,并指定了绘制四个顶点形成的三角形。
绘制好屏蔽罩后,我们可以使用它来遮挡画布上的内容。只需要在绘制每一帧之前,将mask作为渲染目标,并绘制当前帧的内容即可:
// 开启混合模式 al_set_blender(ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA); // 将mask作为渲染目标 al_set_target_bitmap(mask); // 绘制当前帧 render(); // 将画布作为渲染目标 al_set_target_backbuffer(display); // 绘制mask al_draw_bitmap(mask, 0, 0, 0);
其中,render函数用来绘制当前帧。注意,需要开启混合模式,才能使屏蔽罩的颜色透明化。在绘制完当前帧后,将画布作为渲染目标,绘制mask对象即可。
使用allegro绘制屏蔽罩很简单,只需要定义形状、创建对象、绘制形状并使用即可。allegro具有强大的绘图能力,可以用来开发各种图形应用程序。