C Allegro 5绘制更大比例位图时的奇怪行为

C Allegro 5绘制更大比例位图时的奇怪行为,c,bitmap,draw,allegro,allegro5,C,Bitmap,Draw,Allegro,Allegro5,我试着用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].

我试着用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);
  }
}
此功能可将所有卡绘制到显示屏上。每个卡的XPO和YPO设置正确,SWID和SHEI为225x315,DWID和DHEI为80x112

printf提示我卡的位置正常,al_draw_位图提示我这个问题可能是由缩放引起的

下面是它的样子:


你试过不缩放吗?是的,使用al_draw_位图,卡是重叠的,因为它们很大,我使用缩放的卡的位置,但没有那么坏的效果。好的,在d->cards[I]中。img我把缩放的位图放在这里:我现在解决了。