SDL_SetVideoMode问题

时间:2010-10-22 10:11:25

标签: c++ linux embedded sdl

我正在使用SDL_Image在屏幕上显示JPEG,并且在显示的分辨率方面存在一些问题。

据我所知,如果我在调用SDL_SetVideoMode时将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 个答案:

答案 0 :(得分:1)

通过将自定义分辨率添加到/etc/fb.modes来解决这个问题,如下所示:

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 ...