【发布时间】:2010-10-25 17:35:38
【问题描述】:
我正在使用 SDL_Image 在屏幕上显示 JPEG,但它的显示分辨率存在一些问题。
我知道,如果我在调用 SDL_SetVideoMode 时将 0 传递给宽度、高度和位,则 SDL 会采用当前模式值,但在我的情况下这些似乎是错误的。
我在带有自定义显示器(1440x900 的 LED 屏幕)的嵌入式 linux 系统上运行它,帧缓冲区为 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);
任何人有任何想法/指针?
谢谢!
【问题讨论】:
-
您的 JPEG 文件的尺寸是多少?
-
我试过几个,一个是 2100x1750 的大尺寸,一个是 1440x900 和一个 1280x720。使用上述方法,每个都只是缩放到屏幕的一小部分
-
另外,有时当我调用 SDL_SetVideoMode 时,它会挂起程序,当我按下 ctrl-c 时,它会再次唤醒并继续显示图像。相关吗?