[笔记]音视频学习之SDL篇《十》绘制矩形,线条

简介: [笔记]音视频学习之SDL篇《十》绘制矩形,线条

前言

Surface和Texture区别

SDL使用SDL_Surface和SDL_Texture这2种结构绘图到屏幕。

SDL_Surface包含了一个像素集合(pixels成员),它使用软件渲染(非GPU);

SDL_Textur可使用硬件加速器。

绘制

红色实心矩形

//渲染红色填充四边形
SDL_Rect fillRect = { SCREEN_WIDTH / 4, SCREEN_HEIGHT / 4, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2 };
SDL_SetRenderDrawColor( gRenderer, 0xFF, 0x00, 0x00, 0xFF );        
SDL_RenderFillRect( gRenderer, &fillRect );
//更新屏幕
SDL_RenderPresent( gRenderer );

绿色空心矩形

//渲染绿色轮廓的四边形
SDL_Rect outlineRect = { SCREEN_WIDTH / 6, SCREEN_HEIGHT / 6, SCREEN_WIDTH * 2 / 3, SCREEN_HEIGHT * 2 / 3 };
SDL_SetRenderDrawColor( gRenderer, 0x00, 0xFF, 0x00, 0xFF );        
SDL_RenderDrawRect( gRenderer, &outlineRect );
//更新屏幕
SDL_RenderPresent( gRenderer );

蓝色横线

SDL_SetRenderDrawColor( gRenderer, 0x00, 0x00, 0xFF, 0xFF );        
SDL_RenderDrawLine( gRenderer, 0, SCREEN_HEIGHT / 2, SCREEN_WIDTH, SCREEN_HEIGHT / 2 );
//更新屏幕
SDL_RenderPresent( gRenderer );

黄点的垂直线

SDL_SetRenderDrawColor(Window::m_pRenderer.get(), 0xFF, 0xFF, 0x00, 0xFF);
for (int i = 0; i < Window::SCREEN_HEIGHT; i += 4)
{
SDL_RenderDrawPoint(Window::m_pRenderer.get(),Window::SCREEN_WIDTH / 2, i);
}

总结

demo地址

SDL_RenderFillRect

绘制实心矩形

SDL_RenderDrawRect

绘制空心矩形

SDL_RenderDrawLine

绘制线条

SDL_RenderDrawPoint

绘制点


相关文章
|
8月前
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
|
1月前
|
前端开发 API 计算机视觉
opencv绘制基本图形,在图片上添加文字
opencv绘制基本图形,在图片上添加文字
|
1月前
|
前端开发 API vr&ar
Android开发之OpenGL绘制三维图形的流程
即将连载的系列文章将探索Android上的OpenGL开发,这是一种用于创建3D图形和动画的技术。OpenGL是跨平台的图形库,Android已集成其API。文章以2D绘图为例,解释了OpenGL的3个核心元素:GLSurfaceView(对应View)、GLSurfaceView.Renderer(类似Canvas)和GL10(类似Paint)。通过将这些结合,Android能实现3D图形渲染。文章介绍了Renderer接口的三个方法,分别对应2D绘图的构造、测量布局和绘制过程。示例代码展示了如何在布局中添加GLSurfaceView并注册渲染器。
116 1
Android开发之OpenGL绘制三维图形的流程
|
1月前
|
数据可视化 定位技术 开发者
黑白或彩色线稿地图设计定制装饰画中线条轮廓素材底图获取方法合集
黑白或彩色线稿地图设计定制装饰画中线条轮廓素材底图获取方法合集
|
6月前
|
计算机视觉 Python
OpenCV中绘制文字和运动的小球动画
要在OpenCV中绘制文字和运动的小球动画,可以使用以下方法: 1. 导入所需库:
85 8
|
8月前
[笔记]音视频学习之SDL篇《十一》图片 缩放 旋转
[笔记]音视频学习之SDL篇《十一》图片 缩放 旋转
104 0
|
11月前
Easyx绘制基本图形
Easyx绘制基本图形
【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )
【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )
270 0
【OpenGL】十一、OpenGL 绘制多个点 ( 绘制单个点 | 绘制多个点 )
|
API Android开发 异构计算
OpenGL 实践之贝塞尔曲线绘制
说到贝塞尔曲线,大家肯定都不陌生,网上有很多关于介绍和理解贝塞尔曲线的优秀文章和动态图。
756 0
OpenGL 实践之贝塞尔曲线绘制
|
前端开发 索引
使用canvas绘制渐变色矩形和使用按键控制人物移动
使用canvas绘制渐变色矩形和使用按键控制人物移动 1.使用canvas绘制渐变色矩形 效果演示 image.png 相关代码: Title canvas { border: 1px solid #ccc; } /* .
1400 0