找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3322|回复: 8
打印 上一主题 下一主题
收起左侧

用OLED 画任意方向的线的程序思路

[复制链接]
跳转到指定楼层
楼主
ID:884042 发表于 2021-2-12 22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用OLED画出任意方向的线,试过很多次都不行。求各位大神的思路!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:871393 发表于 2021-2-13 18:20 | 只看该作者
先实现直线插补,再用一个可变的大数组负责刷新整个方块,通过插补结果修改数组内容
回复

使用道具 举报

板凳
ID:884042 发表于 2021-2-18 17:00 | 只看该作者
77599585 发表于 2021-2-13 18:20
先实现直线插补,再用一个可变的大数组负责刷新整个方块,通过插补结果修改数组内容

没听懂,什么是直线插补?

回复

使用道具 举报

地板
ID:112099 发表于 2021-2-19 13:40 | 只看该作者
实在没有办法的话,你换种方法显示嘛,不要显示表盘,直接显示数字时钟
回复

使用道具 举报

5#
ID:592807 发表于 2021-2-19 16:24 | 只看该作者
分析线段是直线还是斜

直线直接

斜线的话就像楼上说的用直线插补,
首先你要知道你起点和终点在哪,或者直线上任意两个点的坐标,例如你要画起点为(3,3)终点为(9,9)Y = X的斜线,先画出(3,3)和(9,9)
然后通过斜率算出两点之间有44 55 66 77 88这几个点把这几个点补进去。如果两个点之间没有整数点,就要通过各种算法(可以四舍五入)算出接近的点补进去



回复

使用道具 举报

6#
ID:838732 发表于 2021-5-14 18:11 | 只看该作者
同样在思考这个问题,2楼说的很对,一个大数组,实际是一个具有可变量的图片数据,采用图片刷新即可,现在需要知道如何去变这个数值(code)
回复

使用道具 举报

7#
ID:276685 发表于 2021-5-14 19:29 | 只看该作者
百度bresenham法,高效率的画线算法。
回复

使用道具 举报

8#
ID:884042 发表于 2021-5-21 21:33 | 只看该作者
黄youhui 发表于 2021-2-19 16:24
分析线段是直线还是斜

直线直接

在这里设x为点的x坐标,y为点的y坐标
是不是判断如果线是从左上角到右下角,那么x++,y--?
回复

使用道具 举报

9#
ID:57657 发表于 2021-5-21 22:55 | 只看该作者
RGBA Alpha算法是一个颜色混合算法,放到RGB空间就是一个3D画线算法,画2D线Z轴可以不要。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表