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

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

一、SDL 视频显示函数 1、SDL_Init 函数 使用 SDL 开发库 的 功能 之前 , 都要先 初始化 SDL 系统环境 ; 调用 SDL_Init() 函数 , 可以初始化 SDL 系统上下文环境...操作系统中 , 每个应用的窗口都是一个 SDL_Window 对象 ; 在 SDL_Window 窗口 中 , 可以 有多个 SDL_Renderer 渲染器 , 渲染器 可以用于渲染 / 显示 纹理...); // 清除屏幕 SDL_RenderClear(renderer); // 在 (100, 100) 位置绘制 100x100 像素大小的矩形 SDL_Rect...rect; rect.x = 100; rect.y = 100; rect.w = 100; rect.h = 100; // 渲染器绘制矩形 SDL_RenderDrawRect..., 255); // 设置矩形为颜色填充 SDL_RenderFillRect(renderer, &rect); // 设置渲染目标为窗口 SDL_SetRenderTarget

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

使用SDL2显示一张图片,SDL2上手贴

,这里只显示图片,所以只初始化VIDEO系统,更多的支持查看官方文档 SDL_Init(SDL_INIT_VIDEO); //为了显示png图片,额外使用了图片库,所以要单独初始化...* renderer = SDL_CreateRenderer(window, -1, 0); //如果只是显示一张bmp图片,使用sdl内置的功能即可 //SDL_Surface *...如果指定显示位置使用下面注释起来的两句 //SDL_Rect dstrect = { 5, 5, 320, 240 }; //SDL_RenderCopy(renderer...GTK/MFC/QT/Cocoa也是显示相关这没错,但是它们主要是提供用户程序的界面管理、显示及事件处理。...sdl2_image)的意思是,将sdl2_image代码库及其依赖库(这里当然就是sdl2库)的编译参数和引用库参数全部显示出来,作为字符串加入到编译命令中去。

1.6K70

【FFmpeg】SDL 音视频开发 ② ( SDL 视频显示函数 | 设置渲染器目标纹理 | 设置渲染器颜色 | 清除渲染器 | 渲染器绘制矩形 | 纹理拷贝 | 窗口中显示渲染纹理 )

文章目录 一、SDL 视频显示函数 1、SDL 的 渲染器 和 纹理 之间的关系 2、SDL_SetRenderTarget 函数 - 设置渲染器目标纹理 3、SDL_SetRenderDrawColor...7、SDL_RenderPresent 函数 - 窗口中显示渲染纹理 二、代码示例 - 移动元素绘制 1、完整代码示例 2、执行结果 博客源码下载 : https://download.csdn.net.../download/han1202012/89421317 SDL 代码执行效果如下 : 一、SDL 视频显示函数 1、SDL 的 渲染器 和 纹理 之间的关系 渲染器 SDL_Renderer 负责将...SDL_RenderCopy(renderer, texture, NULL, NULL); 7、SDL_RenderPresent 函数 - 窗口中显示渲染纹理 SDL_RenderPresent...函数 的 作用是 将渲染器上 渲染绘制 的图像 显示到 窗口 中 ; 调用该函数前 , 务必确认 , 渲染器的目标纹理就是窗口 , 已经调用了 SDL_SetRenderTarget(renderer

6110

(译)SDL编程入门(2)在屏幕上显示图像

在屏幕上显示图像 现在你已经打开了一个窗口,让我们在上面放一张图片。 注意:从现在开始,教程将只涉及源代码的关键部分。如果想看完整的程序,你必须下载完整的源码。...//我们要渲染的窗口 SDL_Window* gWindow = NULL; //窗口所包含的表面 SDL_Surface* gScreenSurface = NULL; //我们将加载并显示在屏幕上的图像...gWindow = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH...新功能是调用了SDL_GetWindowSurface。 我们想在窗口内部显示图像,为了做到这一点,我们需要得到窗口内部的图像。...在屏幕上绘制了所有我们要显示的这一帧画面后,我们要使用SDL_UpdateWindowSurface来更新屏幕。当你画到屏幕上的时候,一般不是画到你所能看到的屏幕图像上。

2.5K10

FFmpeg简易播放器的实现-音视频播放

编码器将压缩的原始图像或音频数据编码为压缩数据。解码器与之相反。 codec context: 对应数据结构AVCodecContext 编解码器上下文。此为非常重要的一个数据结构,后文分析。...在SDL1.x版本中,只可以创建一个窗口。在SDL2.0版本中,可以创建多个窗口。...sdl texture: 对应数据结构SDL_Texture 一个SDL_Texture对应一帧解码后的图像数据。 sdl renderer: 对应数据结构SDL_Renderer 渲染器。...将SDL_Texture渲染至SDL_Window。 sdl rect: 对应数据结构SDL_Rect SDL_Rect用于确定SDL_Texture显示的位置。...一个SDL_Window上可以显示多个SDL_Rect。这样可以实现同一窗口的分屏显示。 2.3 源码流程分析 参考如下: ? 2.4 解复用线程 解复用线程就是main()函数所在的主线程。

2.5K20

SDL实战(一)

二、两个demo实战演练: 首先简单演示一个SDL窗口显示,这个窗口是最原始的,啥都没有。...:包含上述所有选项 SDL Window显示SDL视频显示函数简介: SDL_Init():初始化SDL系统 SDL_CreateWindow():创建窗口SDL_Window SDL_CreateRenderer...:将纹理的数据拷贝给渲染器 SDL_RenderPresent():显示 SDL_Delay():工具函数,用于延时 SDL_Quit():退出SDL系统 SDL Windows显示SDL数据结构简介...: SDL_Window 代表了一个“窗口” SDL_Renderer 代表了一个“渲染器” SDL_Texture 代表了一个“纹理” SDL_Rect 一个简单的矩形结构 注意:存储RGB和存储纹理的区别...= NULL; SDL_Texture *texture = NULL; SDL_Rect rect; // 长方形,原点在左上角 rect.w = 50; //方块大小

1K10

(译)SDL编程入门(5)Surface 优化和软拉伸

因为我们只显示一张图片,所以这并不重要。当你在做游戏的时候,原始图像会导致不必要的减速。我们将把它们转换为优化的格式来加快它们的速度。...大多数(如果不是全部)现代显示器默认不是24bit的。如果我们将一张24bit的图像混合到32bit的图像上,SDL将在每次图像混合时对其进行转换。...与之前的blit图像[3]一样,SDL_BlitScaled 接收一个源表面,以便将其拼接到目标表面上,同时还接收一个目标 SDL_Rect[4],它定义了你要拼接的图像的位置和大小。...它也接收一个目标 SDL_Rect,它定义了图像的位置和大小。 所以,如果我们想把一个比屏幕小的图像变成屏幕的大小,你可以把目标宽度/高度变成屏幕的宽度/高度。.../SDL_BlitScaled [3] blit图像: https://blog.csdn.net/yingshukun/article/details/108666196 [4] SDL_Rect:

1.2K20
领券