一、什么是SDL?

SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度。

SDL使用C语言写成,提供了数种控制图像、声音、输出入的函数,可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

1. SDL 库分类

SDL库分为 Video、Audio、CD-ROM、Joystick 和 Timer 等若干子系统,除此之外,还有一些单独的官方扩充函数库。

这些库由官方网站提供,并包含在官方文档中,共同组成了SDL的“标准库”:

  • SDL_image : 支持时下流行的图像格式,如BMP、PPM、XPM、 PCX、GIF、JPEG、PNG、TGA。
  • SDL_mixer:更多的声音输出函数以及更多的声音格式支持。
  • SDL_net:网络支持。
  • SDL_ttf:TrueType字体渲染支持。
  • SDL_rtf:简单的RTF渲染支持。

2. SDL 子系统分类

SDL 按照功能可以分成下列数个子系统(subsystem):

  • Video(图像): 图像控制以及线程(thread)和事件管理(event)。
  • Audio(声音): 声音控制
  • Joystick(摇杆): 游戏摇杆控制
  • CD-ROM(光盘驱动器): 光盘媒体控制
  • Window Management(视窗管理): 与视窗程序设计集成
  • Event(事件驱动):处理事件驱动

SDL 开发实战(一):SDL介绍相关推荐

  1. SDL 开发实战(四): SDL 事件处理

    在前面学习SDL的例子运行时,我们发现我们的窗口只停留了几秒,但是如果设置更长时间显然也有其他的弊端. 那么有没有一种好的办法可以解决这个问题呢?例如:能不能让窗口一直显示,直到检测到用户用鼠标点击关 ...

  2. SDL 开发实战(五): SDL 纹理渲染

    本文我们讲一下如何使用SDL_Texture将视频纹理渲染出来. 1. SDL 视频渲染相关对象 SDL 视频渲染主要涉及到四个对象:SDL_Window.SDL_Render.SDL_Texture ...

  3. SDL 开发实战(二):SDL 2.0 核心 API 解析

    基本的SDL的使用思路,基本分为三部分:初始化 -> 循环渲染 -> 销毁释放资源. SDL 初始化相关方法 : SDL_Init(): 初始化SDL SDL_CreateWindow() ...

  4. SDL 开发实战(三):使用 SDL 绘制基本图形

    本文我们来讲一下,如何使用SDL的API绘制基本的图形. SDL中绘制基本图形的 API并不多,主要是 点.线.矩形.填充矩形.其它图形都可以通过 点.线.矩形组合出来. 1. 设置画笔的颜色 设置画 ...

  5. APP开发实战132-Git命令介绍

    33.2Git命令介绍 一. Git 常用命令速查 gitbranch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 g ...

  6. 手机开发实战163——视频介绍

    视频介绍 简介 视频是一系列0和1表示的离散数据.当模拟信号转换为数字数据.数字视频是由两个重要部分组成:视频码率和帧的大小,码率越大,文件越大,图像就越好.采样率(SAMPLING RATE)取决于 ...

  7. 手机开发实战123——VCARD介绍1

    VCARD介绍 简介 vCard是电子名片的文件格式标准.它一般附加在电子邮件之后,但也可以用于其它场合(如在因特网上相互交换).vCard可包含的信息有:姓名.地址信息.电话号码.URL,logo, ...

  8. 手机开发实战99——MMS介绍6

    MMS发送和接收流程 消息传送图: 包含网络的消息传送图: MMS

  9. 手机开发实战149——BMP介绍4

    加载文件 加载文件的目的是要得到图片属性,以及RGB数据,然后可以将其绘制在DC上(GDI),或是生成纹理对象(3D:OpenGL/Direct3D). 1.加载文件头 //Load the file ...

最新文章

  1. 《Nature》发文:好导师的16个标准
  2. 依据imu姿态角计算z轴倾角_1. 姿态的表示方法
  3. 004-docker常用命令[二]-容器操作ps,top,attach,export
  4. Mac安装与配置idea及tomcat
  5. 【触觉AI】麻省理工研发带550个传感器的触觉手套,通过触摸识别物体|湾区人工智能...
  6. python3.7.3安装失败_python 3.7.3安装web.py报错解决方法
  7. Matlab图像处理系列1———线性变换和直方图均衡
  8. Outlook的服务器设置中POP3协议,在outlook的服务器设置中POP3协议是指
  9. 网站权重大有用处,枫树seo教你一键进行网站权重查询
  10. 126邮箱软件测试,selenium测试126邮箱新增联系人
  11. sql数据库包含关系查询
  12. 3、基于竞速小车 实现 华为hi lens红绿灯识别操作
  13. Java程序员两年校招笔记总结分析——菜鸡求职
  14. 利用高斯(Guass)算法求解2维的SVP向量
  15. ubuntu18.04下载地址
  16. 国内各大优秀免费源码下载站集合!
  17. ffmpeg 合并视频 添加字幕 bat命令
  18. Hunter的读《高效程序员的45个习惯》
  19. Bias-Variance Tradeoff
  20. Chapter9.4:状态反馈与极点配置

热门文章

  1. 蓝牙信号,断点续传,Xutils
  2. 老板拖欠员工工资会怎么处罚
  3. 图像处理(1)--数字图像及彩色空间
  4. CS:GO 交易网站被黑,价值 600 万美元皮肤被盗
  5. docsify笔记 01:快速入门
  6. 【前端面试指南】应届生该怎么谈期望薪酬?
  7. html中 label里for属性和form属性
  8. 财富人生:一篇男人必看的雄文
  9. 更新(D-U-N-S)邓白氏码公司信息(注册勿看)
  10. 2019-11-29-VisualStudio-2019-尝试使用-C#-8.0-新的方式