Allegro 5 странное поведение при рисовании более масштабированного растрового изображения
Я пытался создать карточный пасьянс в C с Allegro 5.
void deck_printout(deck*d)
{
int i;
al_clear_to_color(stdcolor);
for(i=0;i<40;i++){
al_draw_scaled_bitmap(d->cards[i].img,
d->cards[i].xpos,
d->cards[i].ypos,
SWID,
SHEI,
d->cards[i].xpos,
d->cards[i].ypos,
DWID, DHEI, 0);
//printf("%f %f\n",d->cards[i].xpos,d->cards[i].ypos);
//al_draw_scaled_bitmap(d->cards[i].img,0,0,SWID,SHEI,0,0,DWID,DHEI,0);
//al_draw_bitmap(d->cards[i].img,d->cards[i].xpos,d->cards[i].ypos,0);
}
}
Эта функция должна вытягивать все карты на дисплей. xpos и ypos установлены правильно для каждой карты, SWID и SHEI - 225x315, а DWID и DHEI - 80x112.
printf()
предполагает, что положение карт в порядке, al_draw_bitmap подсказывает мне, что эта проблема может быть вызвана масштабированием.
Вот как это выглядит: