在Allegro5中绘制图像/字体的一部分

时间:2013-11-13 11:29:47

标签: c++ user-interface graphics allegro5

有没有办法只在Allegro5中绘制(或显示)图像/字体的一部分?

例如,如果我有一个正方形A和一个图像B而且我只想要绘制/显示与A重叠的部分(在这种情况下为C),我该怎么做?

插图:

    +-----+
    |B +--|-----+
    |  | C|     |
    +-----+     |
       |   A    |
       |        |
       +--------+

如果我只使用一个原语来覆盖我不想展示的B部分,我可能会覆盖以前绘制的B所在的对象。

1 个答案:

答案 0 :(得分:1)

我设法通过使用al_set_clipping_rectangle来解决它,使得只能剪辑某个矩形。

来自Allegro5文档:

void al_set_clipping_rectangle(int x,int y,int width,int height)

设置目标位图的区域或显示像素被剪裁到的区域。默认设置是将像素剪辑到整个位图。