[笔记]音视频学习之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

绘制点


相关文章
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
[笔记]音视频学习之SDL篇《二》 绘制平铺的背景图并居中放置另一图片
|
4月前
|
C++
SDL基础使用01( 项目创建,绘制矩形)
在Visual Studio中创建SDL项目、集成SDL库、绘制矩形的步骤和代码示例。
50 2
SDL基础使用01( 项目创建,绘制矩形)
|
6月前
|
程序员 C# 图形学
Unity3D学习笔记1——绘制一个三角形
Unity3D学习笔记1——绘制一个三角形
126 0
|
8月前
|
图形学
【实现100个unity特效】shader实现3D物品闪光和描边效果
【实现100个unity特效】shader实现3D物品闪光和描边效果
151 0
|
8月前
|
图形学
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
481 0
|
9月前
|
数据可视化 定位技术 开发者
黑白或彩色线稿地图设计定制装饰画中线条轮廓素材底图获取方法合集
黑白或彩色线稿地图设计定制装饰画中线条轮廓素材底图获取方法合集
109 1
|
计算机视觉 Python
OpenCV中绘制文字和运动的小球动画
要在OpenCV中绘制文字和运动的小球动画,可以使用以下方法: 1. 导入所需库:
156 8
|
9月前
|
前端开发 计算机视觉 Python
OpenCV中绘制运动的小球动画,
要在OpenCV中绘制运动的小球动画,并且将动画显示在Python GUI窗口内,可以按照以下步骤进行:
128 2
|
C++ 计算机视觉 Python
C++ VS OpenGL绘制教室三维立体旋转图像
C++ VS OpenGL绘制教室三维立体旋转图像
202 0
C++ VS OpenGL绘制教室三维立体旋转图像
[笔记]音视频学习之SDL篇《十一》图片 缩放 旋转
[笔记]音视频学习之SDL篇《十一》图片 缩放 旋转
179 0