代码之家  ›  专栏  ›  技术社区  ›  peacemaker

SDL_SetVideoMode问题

  •  1
  • peacemaker  · 技术社区  · 15 年前

    我知道,如果在调用SDL_SetVideoMode时向width、height和bits传递0,SDL将采用当前模式值,但是在我的情况下,这些似乎是错误的。

    我在一个嵌入式linux系统上运行这个程序,它有一个自定义的显示器(LED屏幕1440x900),帧缓冲区是1280x720。

    JPEG显示出来,但看起来是640x480,因此大部分屏幕都是白色的。当我使用SDL_SetVideoMode指定宽度和高度时,会得到一个错误:

    SDL_SetVideoMode:没有足够大的视频模式可用于1280x720

    下面是我使用的主要代码:

    pImage = IMG_Load(file);
    pScreen = SDL_SetVideoMode(0,0,0,SDL_ANYFORMAT);
    SDL_BlitSurface(pImage,0,pScreen,0);
    SDL_Flip(pScreen);
    

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  1
  •   peacemaker    15 年前

    这是通过将自定义分辨率添加到/etc/fb中来解决的,例如:

    mode "1280x720-59"
        # D: 172.00 MHz, H: 82.700 kHz, V: 66.00 Hz
        geometry 1280 720 1280 720 16
        timings 13000 300 70 26 3 80 5
    endmode
    

    我在上面的评论中提到的SDL_SetVideoMode挂起仍然没有修复。。。