STM32F746 画图

https://ithelp.ithome.com.tw/upload/images/20220117/201198069rcueODA9L.jpg

光看上面的图片可以发现,
ST提供了各式的画图function
有方形的外框,与全填满DrawRect, FillRect
有圆形的外框,全填满DrawCircle,FillCircle
三角形外框,全填满 DrawPolygon,FillPolygon
椭圆形外框,全填满 DrawEllipse,FillEllipse

还有基本的划线 DrawLine
垂直 水平 DrawVLine DrawHLine

测试过後才知道
上面那个三角形是...
光看英文是多边形才对
怎麽只能画三角形
导致我画出了一个啾啾
https://ithelp.ithome.com.tw/upload/images/20220117/20119806PGLRscYsFS.jpg

各位知道
BSP_LCD_DrawPolygon(Points, 3);
BSP_LCD_FillPolygon(Points2, 3);
原本只有上面这两行
画出了最上面的那种三角形

我依样画葫芦才改成不是直角三角形

Polygon不是多边形吗?
所以我改了参数
BSP_LCD_FillPolygon(Points4, 4);
可是怎麽我後面却变成那样
Point Points4[] = {{260, 150}, {260, 170}, {290, 150}, {290, 170}};
这样错了吗?

不信邪的改了一下画图区块
Point Points4[] = {{260, 150}, {290, 150}, {260, 170}, {290, 170}};
结果变成了
https://ithelp.ithome.com.tw/upload/images/20220117/20119806aZEEZ8EXeZ.jpg

好吧!这个function只适合三角形
.....................................
想了一天
会不会是自己的错误呢?
於是思考了我的顺序与图案
这才发现
要依照给的x,y顺序连起来
像是上面 调整一下顺序
Point Points4[] = {{260, 150}, {290, 150}, {290, 170}, {260, 170}};
就变成了我认知的四边形
https://ithelp.ithome.com.tw/upload/images/20220119/20119806fkyOz2Axiv.jpg

再多一边试试看
Point Points4[] = {{260, 150}, {290, 150}, {290, 170}, {275, 185}, {260, 170}};
https://ithelp.ithome.com.tw/upload/images/20220119/20119806C03zgCAOUF.jpg

嗯~ 结论就是
给的X,Y座标要依照顺序来下
围起来的区块才是它画出来的

这算是还他清白了


<<:  Git 综合笔记

>>:  【Git】 发 PR 是什麽?

Mikrotik RouterOS从入门到实战系列-Mikrotik入门第六课

Route(路由)设置设置详解与实战应用 ´RIB 路由信息库(生成路由表) ´FIB(转发信息库...

Day-28 轻松使用Excel生成乱数并排名

今日练习档 ԅ( ¯་། ¯ԅ) 今日的内容是要带大家认识如何使用Excel判断最大值和最小值,以及...

第 54 天 - 学习 PHP CLI

使用 apt install php7.4-cli 安装 安装 log: root@test:/ho...

LeetCode 双刀流:70. Climbing Stairs

70. Climbing Stairs 这是一个动态规划的经典题目「爬楼梯」,这个题目根据规则利用...

[前端暴龙机,Vue2.x 进化 Vue3 ] Day30.Vue3 网页小游戏(完结篇) | ♾ 台版鱿鱼游戏,玩?还是不玩?

终於~ 来到铁人赛的最後一天啦 今天的工作就是把小专题剩下的功能给完成,为这次的铁人赛欢呼~ 完赛啦...