当前位置:网站首页>如何在GEC-6818上绘制彩虹图?
如何在GEC-6818上绘制彩虹图?
2021-11-25 16:59:37 【Pointer_*】
1.三色旗
这个题比较简单,就是把屏幕分成三块, 屏幕总色素块为 800 *480= 384,000, 将屏幕分为三块,就是每
128,000个色块换一个颜色.
int main()
{
// 打开LCD屏幕文件
int fd = open( "/dev/fb0", O_RDWR | O_CREAT);
if( fd == - 1)
{
printf( "open txt failed\n");
return - 1;
}
// LCD 800*480 v 百度rgb颜色代码 0x ff 80 40
int lcd_buf[ 800 * 480];
//int yello = 0xffff00, black = 0x000, red=0xf44336; // 全部像素的赋值为 橘色
int color[ 3] = { 0xffff00, 0x000000, 0xf44336};
int i, j = 0;
for( i = 0; i < 800 * 480; i ++)
{
lcd_buf[ i] = color[ j];
if( i % 128000 == 0){
j ++;
}
}
write( fd, lcd_buf, 800 * 480 * 4);
// fd文件描述符 指向我们将要写入数据的文件
// buf 数据 我们将要写入数据
// count 计数 我们最多写入多少个字节
close( fd);
return 0;
}
// 能否显示三色旗 德国国旗 俄国国旗
// 能否显示七彩虹 弧状七彩虹
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
结果
初看有点难, 不过画一下图就不难了,简单化问题就是判断像素块到圆心的距离,是否在指定之内对应指定的颜色即可.
- 确定圆心 (400,480)
- 划定范围,最长半径为400,划分为7块,每块越占57, 假设中间有一个小圆不要大概半径占15
- 最后每个同心圆的半径差为55
- 最远的一个为400,然后依次是345,290…
- 七颜色代码
红色 #FF0000
橙色 #FF7F00
黄色 #FFFF00
绿色 #00FF00
青色 #00FFFF
蓝色 #0000FF
紫色 #8B00FF - 其他为白色
int main()
{
// 打开LCD屏幕文件
int fd = open( "/dev/fb0", O_RDWR | O_CREAT);
if( fd == - 1)
{
printf( "open txt failed\n");
return - 1;
}
/*
红色 #FF0000
橙色 #FF7F00
黄色 #FFFF00
绿色 #00FF00
青色 #00FFFF
蓝色 #0000FF
紫色 #8B00FF
0xffffff 白色
*/
// LCD 800*480 v 百度rgb颜色代码 0x ff 80 40
int lcd_buf[ 480][ 800];
int color[ 8] = { 0x8b00ff, 0x0000ff, 0x00ffff, 0x00ff00, 0xffff00, 0xff7f00, 0xff0000, 0xffffff};
int i, j, count = 0; // 记录色块落在哪个区间
for( i = 0; i < 480; i ++)
{
for( j =- 400; j < 400 ; j ++)
{
if(( 480 - i) *( 480 - i) + j * j > 400 * 400 || ( 480 - i) *( 480 - i) + j * j < 225){
lcd_buf[ i][ j + 400] = color[ 7];
} else{
count = sqrt(( 480 - i) *( 480 - i) + j * j ) / 55;
lcd_buf[ i][ j + 400] = color[ count];
}
}
}
write( fd, lcd_buf, 800 * 480 * 4);
// fd文件描述符 指向我们将要写入数据的文件
// buf 数据 我们将要写入数据
// count 计数 我们最多写入多少个字节
close( fd);
return 0;
}
// 能否显示三色旗 德国国旗 俄国国旗
// 能否显示七彩虹 弧状七彩虹
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
结果
版权声明
本文为[Pointer_*]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15442024/4689285
边栏推荐
猜你喜欢
-
深入理解高并发服务器性能优化
-
Alibaba devops Practice Guide (Ⅱ) | quels sont les objectifs fondamentaux des devops dans le cadre de la transformation numérique?
-
详解阿里开源分布式事务框架Seata
-
Helm.ai获得2600万美元B轮融资
-
Cerebras完成2.5亿美元融资,估值已超40亿美元
-
残障人士福音,全球首款有触摸反馈能力的仿生手来了!
-
全球超算TOP 500最新榜单公布:日本富岳继续蝉联,中国上榜数量依旧第一
-
Look at those amazing PCB design art
-
干货分享:数据分析的6大基本步骤
-
云原生应用之旅——Kubernetes成长记 | 第七站:探索旅行中的挑战 2
随机推荐
- R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
- 极光笔记丨搭建UMS私有云文件服务器
- 暴力creak及端口扫描详解
- Pr 入门教程,如何调整剪辑大小?
- 什么是融资租赁?
- Camtasia录屏软件分享
- 拓端tecdat|R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
- 元宇宙最缺的是内容,而云计算能帮上忙
- 殘障人士福音,全球首款有觸摸反饋能力的仿生手來了!
- autogen.sh could not find libtool
- L'Évangile du handicap, la première main bionique au monde avec rétroaction tactile, arrive!
- Cerebras a réalisé un financement de 250 millions de dollars, évalué à plus de 4 milliards de dollars
- Helm.ai reçoit 26 millions de dollars de financement de la série B
- Expliquer en détail le cadre de transaction distribué d'Alibaba open source seata
- 干货回顾 | 社交产品出海机会再思考
- #yyds干货盘点#i.MX8 OTA过程记录
- 用户增长分析模型,该如何搭建
- 下单延迟10s撤单性能测试#yyds干货盘点#
- iPhone 15概念图曝光,变化也太大了
- 办公设备租赁到底是什么?
- 底层网工、0基础、记性差,学习CCIE/HCIE,到底是啥体验?
- Compréhension approfondie de l'optimisation des performances des serveurs hautement simultanés
- 创业孵化基地的概念
- 远程办公或常态化,“小城房”or“大城床”你会怎么选?
- 如何用LOTO示波器TDR方法测试电线长度?
- 云安全日报211125:红帽Mailman电子邮件软件发现跨站请求伪造漏洞,需要尽快升级
- 腾讯回应“腾讯云数据库泄露”传闻:系谣言
- 腾讯回应“腾讯云数据库泄露”传闻:谣言
- Les salaires de toutes les industries sont - ils publiés et les TI sont - elles les plus rentables?
- 构建“元宇宙”,有哪些3D建模方式?
- 构建“元宇宙”,有哪些3D建模方式?
- Complexité du temps et de l'espace dans le tri des bulles
- 业界评价钻石级!阿里自研高并发核心编程笔记太香了
- Interviewer: tell me about the commonly used sorting algorithms
- autogen.sh could not find libtool
- Autogen.sh could not find libtool
- Le métacosme manque le plus de contenu, et l'informatique en nuage peut aider
- Extension tecdat | R Language Linear Discriminant Analysis (LDA), Quadratic Discriminant Analysis (qda) and regular Discriminant Analysis (RDA)
- Tungsten fabric SDN - basic use of VMX - connect to physical / external network
- 業界評價鑽石級!阿裏自研高並發核心編程筆記太香了