首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(译)SDL编程入门(6)扩展SDL_image

扩展 SDL_image SDL扩展允许你做一些事情,比如加载BMP以外的图像文件,渲染TTF字体,以及播放音乐。您可以设置SDL_image来加载PNG文件,这可以为您节省大量的磁盘空间。...在本教程中,我们将介绍如何安装SDL_image。 SDL本身是一个扩展,因为它增加了游戏和媒体功能,而这些功能并不是你的C++编译器的标准配置。...当你设置扩展的时候,你会发现它和单独安装SDL几乎是一样的。我们将特别安装SDL_image,但如果你能安装该扩展,你应该能够安装任何一个扩展。...您需要做的第一件事是下载SDL_image头文件和二进制文件。您可以在SDL_image网站[1]上找到它们 ? 在设置好SDL_image之后,我们将介绍如何使用SDL创建加载PNG。...//使用SDLSDL_image、标准IO和字符串。

1.2K10

【FFmpeg】SDL 开发环境搭建 ( SDL 简介 | 下载 SDL 开发 | 拷贝动态到 C:WindowsSysWOW64 目录 | 将 SDL 开发配置到 Qt 项目 )

SDL 开发 , 开发者可以使用相同的 C 语言代码 , 开发在多个平台的 多媒体应用软件 , 如 : Linux / Windows / MacOS ; 在 FFmpeg 开发中 , 使用 SDL...1、下载 SDL 开发 在 Windows 平台的 SDL 开发环境 搭建 , 只需要将 头文件 , dll 和 lib 函数下载下来直接使用即可 ; SDL 下载地址 : https://github.com...include 目录下是 SDL 相关的头文件 ; lib 目录下是 动态 ; 下面的 SDL2.lib 文件 作为动态链接的导入库 , 该文件中并不包含实际的函数代码 , 只包含了链接到相应...DLL 动态所需的信息 ; 构建程序时 , 链接器会使用 .lib 文件来解析对 DLL 动态 函数的引用 , 函数定义在 DLL 中 , 引用定义在 lib 文件中 ; SDL2.dll 是 动态链接...拷贝的 SDL 开发的 头文件 和 动态 , 配置如下内容 : win32 { INCLUDEPATH += $$PWD/SDL2-2.0.10/include LIBS += $$PWD/SDL2

19910
您找到你想要的搜索结果了吗?
是的
没有找到

Linux音视频(SDL与YUV)

SDL是一个比较底层的音视频处理,很多UI系统的内核都用到它,我们还可以用它来处理摄像头中YUV数据。...拓展: SDL(Simple DirectMedia Layer)是一个跨平台的底层开发,提供操作诸如音频、键盘、鼠标、游戏杆以及显卡等硬件的方法,被很多多媒体播放器、模拟器和流行游戏所使用,SDL支持...Windows、MacOS、Linux、iOS以及Android,也就是说你目所能及的几乎所有平台它都能运行,并且SDL是开源的,完全由C语言编写,可以在C/C++以及众多主流编程语言中被使用。...使用SDL来显示YUV数据的大概步骤是这样的: 第一步,初始化SDL视频子系统并定义YUVOverlay: SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_TIMER..., SDL_YUY2_OVERLAY, screen); 第二步,将YUV数据拷贝到YUVOverlay中(需加锁): SDL_LockYUVOverlay

1.7K40

android SDL系列讲解(十三) 播放音乐 SDL_mixer教程

SDL默认是可以播放wav以及pcm格式的音乐,但是使用起来比较麻烦,所以官网给我们提供了一个三方SDL_mixer,用来支援更多的音频格式,比如mp3,midi以及ogg,关于flac无损音乐,后续有个移植过程...下载SDL_mixer 来到 http://www.libsdl.org/projects/SDL_mixer/ ,下载这里的SDL2_mixer-2.0.1.zip 下载下来,我们放置到jni目录...配置SDL_mixer 修改app\src\main\jni下面的Android.mk,新增两行加入 include src/main/jni/SDL2_mixer/external/libmikmod...可以看到,这里是解包的大小引起,本身三方就是解决编解码的问题,然而编解码出现问题,可以去修复,同时也可以使用其他替代,这里我们用SDL提供的第二个libmad进行解码mp3格式。...编译过后,会出来一个libFLAC-static.a 静态,然后我们在我们的项目jni目录下创建libs目录加入这个:libs/libFLAC.a (改成这个名字) 在SDL2_mixer目录下的Android

2.2K100

SDL2的GUISAN简介

简介 GUISAN是一个基于SDL2的开源的GUI控件,原本是为了一个叫GUICHAN的小游戏而编写的框架。...源码 官方的版本托管在kallisti5的github上,不过由于它是用Sconscript来编译的,对于大多数人来说不是很习惯,因此我把他用makefile重新编译了一遍,把静态独立出来方便以后的使用...事件处理 GUISAN的事件处理主要基于gcn::Event这个虚基类,派生的类图如下: 作为一个UI,他设计的事件处理机制比SDL2相对庞大的机制相比已经简化很多了,也更加专注于与用户进行交互的事件...as we would do with any SDL application. */ SDL_Init(SDL_INIT_VIDEO); window = SDL_CreateWindow...cerr << "Unknown exception" << std::endl; return 1; } return 0; } 编译的时候注意要将事先编译好的静态加到

1.3K20

SDL实践指南】SDL基本介绍

SDL简介 SDL(Security Development Lifecycle,安全开发生命周期)是由微软提出的一种从安全角度指导软件开发的管理模式,它主要通过在传统的软件开发生命周期的各个阶段穿插一系列的安全活动来保障和提升产品自身的安全能力...微软标准 微软在提出SDL的同时也给予了一套实践参考标准: 微软SDL参考标准可以进一步细化为以下三个核心: 培训阶段:对软件产品开发相关的人员(产品经理、项目经理、研发人员等)进行安全培训,培训内容应当贯穿整个...SDL生命周期的各个环节,尤其是对安全意识、安全制度、安全规范、安全评审等的培训讲解 过程阶段:定期评估SDL过程的完备性并对随着新技术的发展和新威胁的引入提出应对措施,使用过程内指标确认过程遵从性,使用发布后指标帮助指导...SDL进行进一步的改进 响应阶段:制定完备的安全响应方案向相关各方提供项目扼要令人信服的指导,同时对响应阶段的所有数据进行存档,通过事后复盘对响应阶段的不足之处进行不断的补充和完善改进 下面是对微软SDL...安全体系建设的第一篇文章主要介绍了软件危机以及引入SDL的目的和SDL的基本流程,后续我们会将SDL的各个环节进行逐一概述,当然也欢迎各位读者一起交流,不足之处还请不吝斧正~

1.8K20

【FFmpeg】SDL 音视频开发 ① ( SDL 窗口绘制 | SDL 视频显示函数 | SDL_Window 窗口 | SDL_Renderer 渲染器 | SDL_Texture 纹理 )

一、SDL 视频显示函数 1、SDL_Init 函数 使用 SDL 开发 的 功能 之前 , 都要先 初始化 SDL 系统环境 ; 调用 SDL_Init() 函数 , 可以初始化 SDL 系统上下文环境...SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \ SDL_INIT_JOYSTICK...); 2、SDL_Quit 函数 SDL_Init 函数 的作用是 初始化 要使用的各个子系统 , 使用完毕后需要退出 , SDL_Quit 函数 就是退出 SDL 系统 时需要调用的函数 ; SDL_Quit...SDL 环境 , 用于播放视频 SDL_Init(SDL_INIT_VIDEO); // 创建 SDL_Window 窗口对象 window = SDL_CreateWindow...下载 SDL 开发 | 拷贝动态到 C:\Windows\SysWOW64 目录 | 将 SDL 开发配置到 Qt 项目 ) 代码的基础上 , 编写的代码 ; 完整代码参考 https://download.csdn.net

7410

(译)SDL编程入门(1)Hello SDL

这就是SDL所做的事情。它将Windows/Linux/Mac/Android/iOS等工具包装起来,让你可以用SDL编写代码,然后编译到它所支持的任何平台。为了使用它,你需要安装它。...SDL作为一个动态链接。一个动态链接有3个部分。...和头文件一样,你可以配置你的编译器在SDL文件所在的额外目录中搜索,或者把文件和编译器自带的其他文件放在一起。你还必须告诉链接器,要针对链接器中的文件进行链接。...如果链接器抱怨找不到 -lSDL 或 SDL2.lib,这意味着文件不在链接器寻找文件的地方。如果链接器抱怨说有未定义的引用,可能意味着它从未被告知要链接。...你可以把二进制文件和你的可执行文件放在同一个目录下,或者放在你的操作系统保存二进制文件的目录下。 译者注:打开 SDL官网[1],下载Windows下的DLL动态 ?

2.7K40

SDL实践指南】SDL安全设计概述

访问控制缺失以及不安全的配置等众多的因素引起的,而导致这样的安全问题发生的根本原因是由于在软件开发生命周期中缺乏对业务安全问题的考虑以及缺少对项目流程的安全控制,因此需要一个安全设计的最佳实践来指导软件项目的安全落地,所以SDL...安全设计checklist应运而生 核心原则 微软的SDL提出了若干核心的安全设计原则: Basic Privacy:基本隐私 Secure Defaults:默认安全 Threat Modeling:...威胁建模 威胁建模是一种分析应用程序威胁的过程和方法,这里的威胁是指恶意用户可能会试图利用各种手段来破坏系统,而我们常说的漏洞则是一个特定的可以被利用的威胁,例如:缓冲区溢出、SQL注入等 威胁建模作为SDL...2005/2008 xp__cmdshell 存储过程默认关闭,默认不开放远程链接 VS 2005/2008 Web Server和SQL Server默认仅本地访问 安全实践 下面是美的金融科技SDL...安全设计发布的"金融科技SDL安全设计Checklist v1.0",内容涵盖了输入验证、输出编码、身份认证、异常处理、会话管理、访问控制、接口调用、权限控制、敏感信息、运行环境、WEB安全防护:

1.4K20

SDL简介

SDL SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发,使用C语言写成。...SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。...SDL在结构上是将不同操作系统的再封装成相同的函数,例如SDL在Windows平台上是DirectX的封装,而在使用X11的平台上(包括Linux),SDL则是与Xlib沟通来输出图像。...虽然SDL本身是使用C语言写成,但是它几乎可以被所有的编程语言所使用,例如:C++、Perl、Python(借由pygame)、Pascal、Java等等。...Shared Object Support,用于动态的加载以及函数查找等相关操作。 Platform and CPU Information,主要用于平台检测、CPU检测、字节序、位运算等功能。

2.3K30

Windows下使用VS2013编译使用SDL

SDL正式支持Windows,Mac OS X,Linux,iOS和Android。 在源代码中可以找到对其他平台的支持。...SDL官网地址为:SDL 在VS2013中编译SDL源代码相关的静态和动态 参考官方文档Using SDL with Microsoft Visual C++ 本博客编写时,SDL的最新稳定版本是...可以看到所有工程和测试都成功了,一共是25个,我们使用SDL开发时主要用到的是SDL2以及SDL2main的静态以及相应的头文件,生成的Win32的Debug如下图所示: ?...README-emscripten.md │ README-gesture.md │ README-hg.md │ README-ios.md │ README-linux.md...属性文件 当然为了简单,也可以自己写一个SDL的属性文件sdl2_vs2013.props,假如我的SDL2.0.12所在的目录为:D:\env_build\SDL2_2.0.12_VS2013,其目录结构为

3.4K10

【FFmpeg】SDL 音视频开发 ③ ( SDL 事件处理 | SDL_Event 数据结构分析 | 事件处理流程 | SDL 事件获取函数 | SDL_WaitEvent 函数 )

事件处理引入 SDL , Simple DirectMedia Layer , 是 跨平台的多媒体开发 , 用于开发 跨平台 的 多媒体应用程序 , 可开发 WIndows / Linux / MacOS...多媒体应用 , 编写一次代码 , 可以在多个平台运行 ; 使用 SDL 多媒体开发的 应用 有如下功能 : 窗口创建 图像绘制 视频播放 音频播放 事件处理 其中的 事件处理 , 就是处理 外设 (...环境 , 设置要开发的子系统 ; // 初始化 SDL 环境 SDL_Init(SDL_INIT_VIDEO); 然后 , 调用 SDL_CreateWindow 函数创建窗口 ; // 创建 SDL_Window...窗口 SDL_Window* window = SDL_CreateWindow( "SDL Event Handling", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED...初始化SDL SDL_Init(SDL_INIT_VIDEO); // 2.

7910

SDL系列讲解(十一) SDL_QUIT流程

移步: http://blog.csdn.net/a332324956/article/category/1886055 下来,继续我们 的SDL系列讲解 SDL系列讲解(一) 简介 SDL系列讲解(...二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 SDL系列讲解(六) SDL_Activity流程 SDL系列讲解(七) SDL_image教程 SDL系列讲解(八) SDL_ttf...教程 SDL系列讲解(九) 异常退出分析 SDL系列讲解(十) 按键处理流程 SDL_QUIT时序图 看下创建窗口的流程图,我们简单说下过程。...发送消息,最后走入的是SDL_PushEvent方法,这个是SDL向消息队列扔入一个事件的方法。

1.2K50

SDL系列讲解(六) SDL_Activity流程

SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 前言 总是会出其不意,讲解随性一些不好吗? 只讲如何使用,明显不是我的风格,于是乎,近期会开展SDL的框架原理的系列分析。...时序图细节 1按照Android的Activity生命周期,启动的时候,会走入onCreate 这里首先使用loadLibraries将我们的用SDL开发出来的so进行加载,so库里面便是我们使用c...本身提供的一种有独立绘制界面的SurfaceView,同时SDLSurface本身注册了按键以及触摸,手柄事件的接收,当接收到事件的时候,使用java的native方法,这些native方法,会在我们的so中进行查表...同时这里做了一个关键的动作,便是我们的SDL用c开发出来的so,实质是在一个线程里面执行的。

1.4K100

【FFmpeg】SDL 音视频开发 ④ ( SDL 多线程 | SDL_Thread 结构体 | SDL_CreateThread 函数创建线程 | SDL_WaitThread 函数等待线程执行 )

博客源码下载 : SDL 多线程模型 代码执行效果如下 : 一、SDL 多线程简介 1、SDL 多线程引入 SDL 支持 多线程 编程 , 开发者 可以 创建多个线程 , 来执行不同的任务 , 如开启多个线程同时处理..., 编写完的 SDL 多线程代码可以在多个平台运行 ; 在 Windows 系统中 , 会生成 Windows 的多线程 模块 ; 在 Linux 系统中 , 会生成对应 Linux 的多线程 模块 ;...在 MacOS 系统中 , 会生成 MacOS 的多线程 模块 ; 2、SDL_Thread 多线程模型 SDL_Thread 是 SDL 开发中 用于 表示线程的 结构体 类型 , 其中包含了 线程标识符...和 线程其它信息 ; SDL_Thread 结构体定义在 SDL_thread.h 头文件中 ; /* SDL 线程 结构体 , 定义在 SDL_thread.c 中 */ struct SDL_Thread...函数 阻塞等待指定线程结束 ; 二、SDL 多线程相关函数 1、SDL 创建线程 - SDL_CreateThread 函数 SDL_CreateThread 函数 的 作用是 创建 SDL 线程 ,

9510
领券