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

网站建设明细报价设计一个个人网站的基本步骤

网站建设明细报价,设计一个个人网站的基本步骤,长春电商网站建设,织梦网站被攻击framebuffer#xff1a;帧缓冲、帧缓存 Linux内核为显示提供的一套应用程序接口#xff08;驱动内核支持#xff09; 分辨率#xff1a;像素点的总和 像素点#xff1a; 显示屏#xff1a;800*600#xff08;横向有800个像素点#xff0c;纵向有600个像素点#x…framebuffer帧缓冲、帧缓存 Linux内核为显示提供的一套应用程序接口驱动内核支持 分辨率像素点的总和 像素点 显示屏800*600横向有800个像素点纵向有600个像素点 显卡显存保存像素点的值 RGB8个bitR8个bitG8个bitB RGB888PC4412 RGB565S3C2440 原理 通过内存映射技术向显存空间写入RGB值 1.打开显示设备/dev/fb0 2.获取显示设备相关参数分辨率、位深度 3.建立内存映射 4.写入RGB颜色值 5.解除映射 6.关闭显 #include framebuffer.h #include linux/fb.h #include stdlib.h #include sys/mman.h #include sys/ioctl.h #include unistd.h #include fcntl.h #include sys/types.h #include sys/stat.h #include stdio.h #include math.hvoid* pmem; struct fb_var_screeninfo vinf; //初始化 int init_fb(char *devname) {int fd open(devname, O_RDWR);if(-1 fd){perror(open fail);return -1;}int ret ioctl(fd, FBIOGET_VSCREENINFO, vinf);if(-1 ret){perror(ioctl fail);return -1;}size_t len vinf.xres_virtual * vinf.xres_virtual * vinf.bits_per_pixel/8;pmem mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);if ((void *)-1 pmem){perror(fail mmap);return -1;}return fd;} //点 void draw_point(int x, int y, unsigned int col) {if (x vinf.xres || y vinf.yres){return ;}if (vinf.bits_per_pixel RGB888_FMT){unsigned int *p (unsigned int*)pmem;*(p y * vinf.xres_virtual x) col;}else if (vinf.bits_per_pixel RGB565_FMT){unsigned short *p (unsigned short*)pmem;*(p y * vinf.xres_virtual x) col;}return ; } //横线 void draw_xline(int x, int y, int xlen, unsigned int col) {if (x vinf.xres || y vinf.yres){return ;}int i 0;for(i 0; i xlen; i){if (vinf.bits_per_pixel RGB888_FMT){unsigned int *p (unsigned int*)pmem;*(p y * vinf.xres_virtual (x i)) col;}else if (vinf.bits_per_pixel RGB565_FMT){unsigned short *p (unsigned short*)pmem;*(p y * vinf.xres_virtual (x i)) col;}}return ;} //竖线 void draw_yline(int x, int y, int ylen, unsigned int col) {if (x vinf.xres || y vinf.yres){return ;}int i 0;for(i 0; i ylen; i){if (vinf.bits_per_pixel RGB888_FMT){unsigned int *p (unsigned int*)pmem;*(p (y i) * vinf.xres_virtual x) col;}else if (vinf.bits_per_pixel RGB565_FMT){unsigned short *p (unsigned short*)pmem;*(p (y i) * vinf.xres_virtual x) col;}}return ;} //矩形 void draw_rectangle(int x, int y, int xlen, int ylen, unsigned int col) {if (x vinf.xres || y vinf.yres){return ;}draw_xline(x,y,xlen,col);draw_xline(x,y ylen, xlen, col);draw_yline(x,y,ylen,col);draw_yline(x xlen, y, ylen, col);return ; } //清屏 void clear_scream_col(unsigned int col) {int i 0, j 0;for(i 0; i vinf.xres; i){for(j 0; j vinf.yres; j){draw_point(i, j, col);}}} //斜线 void draw_xyline(double x1, double y1, double x2, double y2, unsigned int col) {double k (y2 - y1) / (x2 - x1);double b y1 - (k * x1);int i 0;for(i 0; i (x2 - x1); i){draw_point((int)x1 i, (int)(k * (x1 i) b), col);}return ; } //圆 void draw_circle(double x, double y, double r, unsigned int col) {double a x, b y;int i 0;for (i 0; i 360; i) { float theta 2 * 3.14 * i / 360; float x1 r * cos(theta) x; float y1 r * sin(theta) y;draw_point(x1,y1,col);}return ; }void uninit_fb(int fd) {size_t len vinf.xres_virtual * vinf.yres_virtual * vinf.bits_per_pixel/8;munmap(pmem, len);close(fd); } 示设备
http://www.hkea.cn/news/14401105/

相关文章:

  • 网站开发 策划是干嘛的深圳做自适应网站公司
  • 百度安全网站检测做搬家服务网站问卷调查结果
  • 公司招聘网站微豆网络科技有限公司网页设计
  • 手机端网站推广收图片的网站
  • 网站的网页建设银行中国网站首页
  • 网站建设注册小程序tale博客和wordpress
  • 赣州住房建设部网站成都网站设计平台
  • 如果在各大网站做免费的网络推广网页设计实训总结模板
  • wordpress整站备份太原网页设计与制作
  • 阿里云做的网站wordpress文章存档插件
  • 公路投资建设有限公司网站双控机制建设网站
  • 西宁网站建设的企业怎么做脱机网站
  • 99到家微网站什么做的做网站建设个体经营小微企业
  • wordpress 网站模板开封建设企业网站公司
  • 阿里云智能logo设计网站施工企业资质类别
  • 东莞市房管局官方网站wordpress任意电脑编辑
  • 哔哩哔哩网站怎么做视频软件wordpress 主题原理
  • 外贸网站商城建设网站建设前准备工作
  • 中国中小企业网站官网专业的营销型网站
  • 网站建设要考虑哪些内容河北省建设厅官方网站
  • jsp网站开发关键技术东莞专业网站营销
  • 河池环江网站建设重庆平台网站建设平台
  • 虹口集团网站建设江门网站开发公司
  • 用例图在线制作网站怎么注册亚马逊跨境电商
  • 慧聪网网站建设策略秦皇岛优化网站排名
  • 周口网站建设电话网站建设岗位招聘
  • 漳州市长泰县建设局网站碧辉腾乐 网站建设
  • 建站之星网站建设下载版app快速开发平台
  • 广东备案网站wordpress适用于任何网站吗
  • 服务器放网站js网站登录怎么做