0.96寸OLED用两点式画直线算法思路分享

您所在的位置:网站首页 stm32驱动096寸oled 0.96寸OLED用两点式画直线算法思路分享

0.96寸OLED用两点式画直线算法思路分享

2023-08-14 01:49| 来源: 网络整理| 查看: 265

这个算法是纯原创,没有任何借鉴的元素

实现原理大概就是通过两个点算出直线方程然后描点

在这个函数中OLED_DrawDot函数是描点函数,如果和自己代码里不匹配可以换成自己代码里的描点函数。

先看整个源码,后面在讲细节

/*======================================================== *功能描述: 在0.96Oled中画线 *参数说明: x1 -> 绝对x1坐标 y1 -> 绝对y1坐标 * x2 -> 绝对x1坐标 y2 -> 绝对y1坐标 *附加说明: 无 *========================================================*/ void OLED_DrawLine(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2) { unsigned char i = 0; //先计算增量Δy和Δx char DeltaY = 0,DeltaX = 0; float k = 0,b = 0; //考虑到斜率有小数的情况,所以b也写成浮点型 if(x1>x2) //保持Δx为正,方便后面使用 { i = x2;x2 = x1;x1 = i; i = y2;y2 = y1;y1 = i; i = 0; } DeltaY = y2 - y1; DeltaX = x2 - x1; if(DeltaX == 0) //斜率k不存在时的画法 { if(y1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3