2025年嵌入式开发板屏幕绘制太极图

嵌入式开发板屏幕绘制太极图嵌入式开发板 c 语言控制绘制太极图 附代码 编程思路可以看代码注释 本次用到的开发板为 粤嵌 6818 开发板 283 1 代码 include stdio h include sys types h include sys stat h include sys sys stdio h

大家好,我是讯享网,很高兴认识大家。

嵌入式开发板,c语言控制绘制太极图,附代码

编程思路可以看代码注释

本次用到的开发板为:粤嵌6818开发板-283

1.代码

#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main() { int buf[480][800];//数组用来储存颜色的像素点 int file; file = open("/dev/fb0",O_RDWR); if(-1 == file) { perror("open orror"); } int baise = 0xffffff; int heise= 0x000000; int dise = 0xC0C0C0; int i,j; int r1=200,r2=195;//r1大圈外半径,r2大圈内半径 ,单独一线圈无法显示出来 int a=240,b=400;//大圈圆心(240,400) int c=140,d=500,e=340,f=300;//右上角小圆心(140,500),左下角小圆心(340,300) int r3=30;//r3是两个最小圆圈半径 int r5=100;//切入半圆的半径 int g=140,h=400,w=340,z=400;//上半切入圆心(140,400),下半切入圆心(340,400) for(i=0;i<480;i++) for(j=0;j<800;j++) { //先分割成左右两边,左白右黑 if( i>0 && j<400 ) { buf[i][j]=baise; } else { buf[i][j]=heise; } //上半切入圆 if( ((i-g)*(i-g)+(j-h)*(j-h) ) <= r5*r5 ) { buf[i][j]=heise; } //下半切入圆 if( ((i-w)*(i-w)+(j-z)*(j-z) ) <= r5*r5 ) { buf[i][j]=baise; } //右上小圈 if( ((i-c)*(i-c)+(j-d)*(j-d) ) <= r3*r3 ) { buf[i][j]=baise; } //左下小圈 if( ( (i-e)*(i-e)+(j-f)*(j-f) ) <= r3*r3 ) { buf[i][j]=heise; } //大圈外置白色 if( ( ((i-a)*(i-a)+(j-b)*(j-b) ) >= r1*r1)) { buf[i][j]=dise; } } //最后将颜色输入到屏幕 for(i=0;i<480;i++) for(j=0;j<800;j++) { write(file,&buf[i][j],4); } return 0; } 

讯享网

2.在linux中编译原.c文件


讯享网

 3.传入开发板

 4.输出到开发板的效果图

小讯
上一篇 2025-03-13 18:11
下一篇 2025-01-24 15:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/119537.html