2013-11-13 2 views
1

Есть ли способ рисовать (или показывать) часть изображения/шрифта в Allegro5?Рисование части изображения/шрифта в Allegro5

Например, если у меня есть квадрат A и изображение B, и я хочу, чтобы часть B, которая перекрывает A (в данном случае C), должна быть нарисована/показана, как бы я это сделал?

Иллюстрация:

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

Если я просто использовать примитивный, чтобы покрыть части B, что я не хочу, чтобы показать, я потенциально может охватить ранее нарисованные объекты, которые лежат где B расположен.

ответ

1

Мне удалось решить эту проблему, используя al_set_clipping_rectangle, позволяя только скопировать определенный прямоугольник.

От Allegro5 документации:

недействительного al_set_clipping_rectangle (целое х, у INT, ширина INT, INT высота)

Установите область целевого растрового изображения или отобразить, что пиксели подрезанных к. По умолчанию используется клип для пикселов для всего растрового изображения.

+0

Похоже, что отсечение - это то, что вы хотите, но есть также https://www.allegro.cc/manual/5/al_draw_bitmap_region – Matthew

+0

Да, это, вероятно, тоже будет работать – Dron