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 подсказывает мне, что эта проблема может быть вызвана масштабированием.

Вот как это выглядит:

Скриншот перемешанных игральных карт

0 ответов

Другие вопросы по тегам