请问为什么不显示图片
c4droid吧
全部回复
仅看楼主
level 8
图片格式是bmp,路径正确,可以运行,教程源码试过也不显示
2016年11月20日 00点11分 1
level 8
/*************************\
*SDL2教程
*第一课
*Hello word!
*DXKite编写
*2014-5-11
\*************************/
#include "SDL2/SDL.h"
#include<stdio.h>
int main(int argc, char *argv[])
{
/* 创建窗口 */
SDL_Window *win = NULL;
/* 创建渲染器 */
SDL_Renderer *renderer = NULL;
/* 创建绘画表面 */
SDL_Texture *HelloTex = NULL;
/* 创建加载表面 */
SDL_Surface *Surface = NULL;
/* 使用SDL前先初始化 */ SDL_Init(SDL_INIT_EVERYTHING);
/* 设置窗口 */
win = SDL_CreateWindow("Hello World", 0, 0, 480, 800, 0);
/* 设置渲染器 */
renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
/* 加载图片 */
Surface = SDL_LoadBMP("/storage/emulated/0/UCDownloads/pictures/1.bmp");
/* 从表面创建画图表面 *
HelloTex = SDL_CreateTextureFromSurface(renderer, Surface);
/* 释放表面 */
SDL_FreeSurface(Surface);
/* 清理渲染器 */
SDL_RenderClear(renderer);
/* 复制绘图后的表面至渲染器 */
SDL_RenderCopy(renderer, HelloTex, NULL, NULL);
SDL_RenderPresent(renderer);
/* 暂停2000毫秒 */
SDL_Delay(2000);
/* 销毁绘画表面 */ SDL_DestroyTexture(HelloTex);
/* 销毁渲染器 */ SDL_DestroyRenderer(renderer);
/*销毁窗口*/
SDL_DestroyWindow(win);
/*退出*/
SDL_Quit();
return 0;
}
2016年11月20日 00点11分 2
Android手机上一般不会有bmp格式图片,我怀疑这图片是其它格式的,建议 #include <SDL2/SDL_image.h> 用IMG_Load函数来加载图片。
2016年11月20日 05点11分
@不知者来此 嗯是图片的原因
2016年11月20日 11点11分
1