sdl环境安装学习笔记

原创 2015年07月07日 09:39:06

一、简介

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

二、配置

sudo apt-get install libsdl1.2-dev

附加包:

sudo apt-get install libsdl-image1.2-dev

sudo apt-get install libsdl-mixer1.2-dev

sudo apt-get install libsdl-ttf2.0-dev

sudo apt-get install libsdl-gfx1.2-dev

也可以去官网下载最新的源码进行编译。

源码:http://www.libsdl.org/projects/

1、SDL_Image:提供显示多种格式的图像显示接口,它支持bmp,png,jpeg,gif,tiff等.

source:http://www.libsdl.org/projects/SDL_image/
2、SDL_Draw:提供画点线圆等几何图形的接口.
3、SDL_ttf:提供显示TTF文字的接口.    

source:http://www.libsdl.org/projects/SDL_ttf/
4、SDL_mixer:提供播放各种声音文件的接口. 

三、测试

#include "SDL/SDL.h"  
int main( int argc, char* args[] )  
{  
    //Start SDL  
    SDL_Init( SDL_INIT_EVERYTHING );  
    //Quit SDL  
    SDL_Quit();  
    return 0;      

编译命令:g++ main.c -o main -lSDL

如果程序能够编译通过并能够运行,那么SDL安装成功。

四、加载一张位图

SDL可以很方便的来加载位图。

首先拷贝一张bmp格式的图片到项目文件夹,然后修改代码如下:

#include <stdio.h>  
#include <SDL/SDL.h>  
int main()  
{  
    //The images  
    SDL_Surface* hello = NULL;  
    SDL_Surface* screen = NULL;  
    SDL_Init( SDL_INIT_EVERYTHING );  
    //Set up screen  
    screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );  
    //Load image  
    hello = SDL_LoadBMP( "1.bmp" );  
    //Apply image to screen  
    SDL_BlitSurface( hello, NULL, screen, NULL );  
    //Update Screen  
    SDL_Flip( screen );  
    //Pause  
    SDL_Delay( 5000 );      
    //Quit SDL  
    SDL_Quit();  
    //Free memory  
    SDL_FreeSurface( hello );  
    //Quit SDL  
    SDL_Quit();  
    return 0;  

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SDL2学习笔记1-环境搭建以及Hello SDL

SDL(SimpleDirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出...
  • hjl240
  • hjl240
  • 2015-08-11 13:40
  • 1959

Opengl SDL工具开发 学习笔记 002

Code: //===================================================   // Name        : SDL.c...

SDL库的学习笔记之五—键盘

前情提要上一次我们尝试了事件系统,这次,我们来试一下用键盘来进行输入

SDL库的学习笔记之二—初始化、退出

参考资料SDL wiki 发现其实我只是翻译一下Orz初始化与退出函数原型int SDL_Init(Uint32 flags) int SDL_InitSubSystem(Uint32 flags...

SDL容器--(C++学习笔记)

打算自己记录一下c++的学习过程,例子中有很多是借鉴了网上视频和其他博主的博客容器种类:vector, array, list,set, hash_set,, ...

环境高级编程学习笔记

  • 2017-08-13 20:59
  • 157KB
  • 下载

JStorm学习笔记-集群环境安装部署

安装版本如下: jstorm-2.2.1 zookeeper-3.4.10 zeromq-4.1.5 启动zookeeper的集群服务 修改配置文件conf/storm.yaml内容 #...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)