当前位置: 首页 > news >正文

正规的网站建设公司seo研究中心学员案例

正规的网站建设公司,seo研究中心学员案例,安防网站模板,企业网站建设首选智投未来1(꒪ꇴ꒪ ),hello我是祐言博客主页#xff1a;C语言基础,Linux基础,软件配置领域博主#x1f30d;快上#x1f698;#xff0c;一起学习#xff01;送给读者的一句鸡汤#x1f914;#xff1a;集中起来的意志可以击穿顽石!作者水平很有限#xff0c;如果发现错误#x…(꒪ꇴ꒪ ),hello我是祐言博客主页C语言基础,Linux基础,软件配置领域博主快上一起学习送给读者的一句鸡汤集中起来的意志可以击穿顽石!作者水平很有限如果发现错误可在评论区指正感谢 在嵌入式系统的开发中我们经常需要在液晶屏上显示一些信息如文本、图片等。在本篇文章中我将解析两个C语言的例程这些例程分别用于在液晶屏上显示不同的RGB颜色和显示BMP图片。 一、在液晶屏上显示RGB颜色 RGB颜色想必大家都懂吧简单介绍一下 RGB是一种用于表示颜色的色彩模型它是英文单词Red红色、Green绿色和Blue蓝色的缩写。在RGB色彩模型中每种颜色由红色、绿色和蓝色三个分量的不同强度组成通过调整这三个分量的数值可以得到各种不同的颜色。 在RGB色彩模型中每个颜色分量的取值范围通常是0到255。数值为0表示没有该颜色分量而数值为255表示该颜色分量的最大强度。因此RGB颜色可以用一个三元组(R, G, B)来表示其中R表示红色分量的强度G表示绿色分量的强度B表示蓝色分量的强度。 例如纯红色的RGB颜色表示为(255, 0, 0)即红色分量为最大强度而绿色和蓝色分量均为0。类似地纯绿色的RGB颜色表示为(0, 255, 0)纯蓝色的RGB颜色表示为(0, 0, 255)我们通常在编程中用0x00ff0000的十六进制表示红色。 通过调整RGB颜色的三个分量的数值可以得到各种不同的颜色包括所有可见的颜色。由于RGB色彩模型在计算机图形和显示技术中得到广泛应用所以它是最常用的色彩模型之一。 下面来看一下综合例程 //在屏幕上交替的显示红绿蓝三色 #include stdio.h #include string.h #include strings.h #include stdlib.h #include errno.h #include time.h #include sys/types.h #include sys/stat.h #include unistd.h #include sys/ioctl.h #include fcntl.h #include sys/mman.h #include linux/fb.h //帧缓冲设备的结构体定义在这个里面#define LCDDEV /dev/fb0 #define LCDSIZE 800*480*4struct color {unsigned int red;unsigned int green;unsigned int blue; };void input_color(int *lcd_buf, int color) {int x, y;for ( y0; y480; y){for(x0; x800; x){lcd_buf[y*800 x] color; }} }void output_color(int color) {// 1. 打开液晶屏设备int lcd_fd open(LCDDEV, O_RDWR);if(lcd_fd -1){perror(open lcd fail);exit(errno);}// 给液晶屏文件映射一块内存// void *mmap(void *addr, size_t len, int prot, int flags,int fildes, off_t off); int *fb mmap(NULL, LCDSIZE, PROT_READ|PROT_WRITE, MAP_SHARED, lcd_fd, 0);if(fb MAP_FAILED){perror(mmap fail);exit(errno);}int lcd_buf[800*480] {0}; input_color(lcd_buf,color);memcpy(fb,lcd_buf,LCDSIZE);// 3. 关闭液晶屏munmap(fb, LCDSIZE);close(lcd_fd);} int main(int argc, char *argv[]) {// 2. 初始化颜色值struct color rgb { .red 0x00ff0000, .green 0x0000ff00, .blue 0x000000ff };while(1){output_color(rgb.red);sleep(1);output_color(rgb.green);sleep(1);output_color(rgb.blue);sleep(1);}return 0; }这个代码的主要思路是首先定义一个颜色结构体然后创建一个颜色缓冲区将颜色数据填充到缓冲区中最后将缓冲区的内容写入到液晶屏设备中。 在代码中我们首先定义了一个颜色结构体struct color它包含了3个成员红色、绿色和蓝色。然后我们定义了一个input_color函数该函数的主要作用是将颜色数据填充到颜色缓冲区中。output_color函数则负责将颜色缓冲区的内容写入到液晶屏设备中。 在main函数中我们首先初始化了颜色的值然后在一个无限循环中不断的将红色、绿色和蓝色的颜色信息写入到液晶屏设备中每次写入后暂停1秒。 二、在液晶屏上显示BMP图片 这个操作就像把大象放进冰箱需要几步这个问题一样第一步打开液晶屏第二步导入bmp格式的图片第三步关闭液晶屏顺着这个思路我们很快就能写出如下程序当然细节处怎么做到还需自己研究一下哦其实很简单主要用到了像素转换的思想 像素转换代码color bmp_buf[k] | bmp_buf[k1]8 | bmp_buf[k2]16; 在这个循环中我们使用i和j变量遍历每个像素点的行和列同时使用k变量来遍历bmp_buf缓冲区处理每个像素的BGR颜色数据。由于BMP图像是BGR顺序存储的我们通过位运算将3个字节的颜色数据合成为一个32位的像素颜色值。位运算操作的目的是将BGR颜色数据拼接成一个32位整数的颜色值其中高8位为0alpha通道不透明度接下来8位为红色值再接下来8位为绿色值最低8位为蓝色值。 另外还需搞清楚BMP图片的像素数据是从左到右从下到上存储的而液晶屏的读取是从左往右从上往下刚好是上下颠倒。 #include stdio.h #include string.h #include strings.h #include stdlib.h #include errno.h #include time.h #include sys/types.h #include sys/stat.h #include unistd.h #include sys/ioctl.h #include fcntl.h #include sys/mman.h #include linux/fb.h //帧缓冲设备的结构体定义在这个里面#define LCDDEV /dev/fb0 void show_bmp(char *name) {// 1. 打开液晶屏设备int lcd_fd open(LCDDEV, O_RDWR);if(lcd_fd -1){perror(open lcd fail);exit(errno);}int bmp_fd open(name, O_RDONLY);if(bmp_fd -1){perror(open bmp fail);exit(errno);}// 给液晶屏文件映射一块内存// void *mmap(void *addr, size_t len, int prot, int flags,int fildes, off_t off);// int *fb mmap(NULL, 800*480*4, PROT_READ|PROT_WRITE, MAP_SHARED, lcd_fd, 0);if(fb MAP_FAILED){perror(mmap fail);exit(errno);}// 先跳过54字节的文件头和信息头lseek(bmp_fd, 54, SEEK_SET);// 读取位图数据图像的BGR颜色数据char bmp_buf[800*480*3] {0};read(bmp_fd, bmp_buf, 800*480*3);int i, j, k 0;int color 0;//液晶屏的扫描方式是从上到下从左到右//而bmp图像数据的存储方式是从左到右从下到上//所以要反着写入就能解决翻转问题for (i 479; i 0; i--) {for (j 0; j 800; j) {color bmp_buf[k] | bmp_buf[k 1] 8 | bmp_buf[k 2] 16;// 像素转换k 3;fb[i * 800 j] color;// 写入液晶屏}}munmap(fb, 800*480*4);close(bmp_fd);// 3. 关闭液晶屏close(lcd_fd);}int main(int argc, char *argv[]) {if (argc ! 2) {printf(Usage: %s picture \n, argv[0]);return 1;}show_bmp(argv[1]);return 0; }例程的主要思路是首先打开BMP图片文件和液晶屏设备然后读取BMP图片的像素数据将这些像素数据写入到液晶屏的缓冲区中最后将缓冲区的内容写入到液晶屏设备中。 在代码中我们首先打开了液晶屏设备和BMP图片文件然后创建了一个映射这个映射将液晶屏设备的内存映射到了进程的地址空间。接着我们从BMP图片文件中读取像素数据将这些数据写入到液晶屏的缓冲区中。最后我们将缓冲区的内容写入到液晶屏设备中。 三、运行 有了代码那怎么运行呢其实之前的博客里也教过但是还是凑点字数多说说只要需要用 rz -y命令把可执行文件传给开发板就行。 什么又不会编译了看这里 传统就是arm-linux-gcc 那么快捷方法就是用alias命令把它变成一个快捷指令ag。  四、总结 通过这两个例程我们可以看到在C语言中如何操作液晶屏设备如何将颜色和图片显示到液晶屏上。这些例程提供了一个很好的起点让我们能够理解如何在嵌入式系统中进行液晶屏的编程。希望这个文章能对你有所帮助如果你有任何问题欢迎在评论区留言。 更多C语言和Linux系统相关文章关注专栏 手撕C语言 玩转linux 写在最后 今天的分享就到这啦~觉得博主写的还不错的烦劳 一键三连喔~感谢关注
文章转载自:
http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn
http://www.morning.yxlhz.cn.gov.cn.yxlhz.cn
http://www.morning.jtnph.cn.gov.cn.jtnph.cn
http://www.morning.yszrk.cn.gov.cn.yszrk.cn
http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn
http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn
http://www.morning.fhbhr.cn.gov.cn.fhbhr.cn
http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn
http://www.morning.jqswf.cn.gov.cn.jqswf.cn
http://www.morning.zlkps.cn.gov.cn.zlkps.cn
http://www.morning.xyyplp.cn.gov.cn.xyyplp.cn
http://www.morning.bswhr.cn.gov.cn.bswhr.cn
http://www.morning.dndk.cn.gov.cn.dndk.cn
http://www.morning.fsbns.cn.gov.cn.fsbns.cn
http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn
http://www.morning.pqkyx.cn.gov.cn.pqkyx.cn
http://www.morning.tkchg.cn.gov.cn.tkchg.cn
http://www.morning.yfcyh.cn.gov.cn.yfcyh.cn
http://www.morning.jzmqk.cn.gov.cn.jzmqk.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.jrlxz.cn.gov.cn.jrlxz.cn
http://www.morning.dzrcj.cn.gov.cn.dzrcj.cn
http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn
http://www.morning.taojava.cn.gov.cn.taojava.cn
http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn
http://www.morning.bpptt.cn.gov.cn.bpptt.cn
http://www.morning.pghry.cn.gov.cn.pghry.cn
http://www.morning.lchtb.cn.gov.cn.lchtb.cn
http://www.morning.kyzja.com.gov.cn.kyzja.com
http://www.morning.kdrly.cn.gov.cn.kdrly.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn
http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn
http://www.morning.c7622.cn.gov.cn.c7622.cn
http://www.morning.tthmg.cn.gov.cn.tthmg.cn
http://www.morning.fmdvbsa.cn.gov.cn.fmdvbsa.cn
http://www.morning.cklld.cn.gov.cn.cklld.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.rdkgw.cn.gov.cn.rdkgw.cn
http://www.morning.kgqww.cn.gov.cn.kgqww.cn
http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn
http://www.morning.fyxtn.cn.gov.cn.fyxtn.cn
http://www.morning.prznc.cn.gov.cn.prznc.cn
http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn
http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn
http://www.morning.qclmz.cn.gov.cn.qclmz.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.pskjm.cn.gov.cn.pskjm.cn
http://www.morning.rbrd.cn.gov.cn.rbrd.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.bchhr.cn.gov.cn.bchhr.cn
http://www.morning.rbbyd.cn.gov.cn.rbbyd.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.smggx.cn.gov.cn.smggx.cn
http://www.morning.mnpdy.cn.gov.cn.mnpdy.cn
http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn
http://www.morning.qflwp.cn.gov.cn.qflwp.cn
http://www.morning.yrpd.cn.gov.cn.yrpd.cn
http://www.morning.rcqyk.cn.gov.cn.rcqyk.cn
http://www.morning.bqyb.cn.gov.cn.bqyb.cn
http://www.morning.sfgtp.cn.gov.cn.sfgtp.cn
http://www.morning.rgwrl.cn.gov.cn.rgwrl.cn
http://www.morning.bnylg.cn.gov.cn.bnylg.cn
http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn
http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn
http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn
http://www.morning.wcghr.cn.gov.cn.wcghr.cn
http://www.morning.ndxrm.cn.gov.cn.ndxrm.cn
http://www.morning.tklqs.cn.gov.cn.tklqs.cn
http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn
http://www.morning.fhqdb.cn.gov.cn.fhqdb.cn
http://www.morning.dgsx.cn.gov.cn.dgsx.cn
http://www.morning.njhyk.cn.gov.cn.njhyk.cn
http://www.morning.gbqgr.cn.gov.cn.gbqgr.cn
http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn
http://www.morning.jngdh.cn.gov.cn.jngdh.cn
http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn
http://www.morning.kzbpx.cn.gov.cn.kzbpx.cn
http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn
http://www.tj-hxxt.cn/news/239329.html

相关文章:

  • 巅峰网站建设如何做闲置物品自己的网站
  • 北京城乡建设集团网站广西网站建设教程
  • 企业网站建设基本流程图没有文字的网站怎么优化
  • 合肥模板网站建设软件网站开发支持多个币种
  • 自助个人网站注册建筑企业管理软件排名
  • 网站建设预算和流程介绍如何建设好网站
  • 如何做影视剧网站网站设计的论坛
  • 织梦网站产品如何进入wordpress前台
  • 高密做网站织梦做网站首页
  • 晋州网站建设黑龙江网站开发
  • 陕西省建设总工会网站搜狗推广手机客户端
  • 找人做效果土去那网站找广州新闻发布
  • 中国企业网站建设阴阳师网站怎么做
  • 用别人网站做app的危害网站出现转站怎么办
  • php网站建设案例教程简单的dw制作网页步骤
  • 怎么制作网站编辑页面怎样购买网站
  • 网站设计基本步骤免费矢量图素材网
  • 山东建站商城搜狗搜索网页版
  • jsp网站安全性网站使用问题
  • 同一个域名两个网站做相册的网站有哪些
  • 怎么自己创建网站免费哈尔滨教育云平台网站建设
  • 淄博公司网站建设微信小程序制作宣传图册
  • 群辉nas 做网站公会网站免费建设
  • 福清市建设局网站多少建筑装饰装修工程公司
  • 网站管理助手ks数据分析神器
  • 网站站点结构的构建新手开装修公司怎样做
  • 展会网站怎么做网页翻译软件哪个好
  • 公众号和网站wordpress如何转换为中文
  • 高校里做网站的工作网站建设小公司生存
  • 网站使用什么数据库公司网页制作哪家好