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

SDL2.0学习笔记3——用SDL画图
SDL编程入门(8)几何图形渲染


前言

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

绘制点

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值