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

网站备案怎么备案sem是指什么

网站备案怎么备案,sem是指什么,网站icp备案代办,网站运营核心framebuffer:帧缓冲、帧缓存 Linux内核为显示提供的一套应用程序接口(驱动内核支持) 分辨率:像素点的总和 像素点: 显示屏:800*600(横向有800个像素点,纵向有600个像素点&#x…

framebuffer:帧缓冲、帧缓存

Linux内核为显示提供的一套应用程序接口(驱动内核支持)

分辨率:像素点的总和

像素点:

显示屏:800*600(横向有800个像素点,纵向有600个像素点)

显卡(显存(保存像素点的值))

RGB:(8个bitR,8个bitG,8个bitB)

RGB888(PC,4412)

RGB565(S3C2440)

原理:

通过内存映射技术,向显存空间写入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.h>void* 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.ds6.com.cn/news/16935.html

相关文章:

  • 网站后台账户密码成都网站建设方案托管
  • 牛什么的网站建设营销工具
  • 网站建设项目详情app代理推广合作50元
  • b2c电子商务网站分类企业网站制作方案
  • 一键建网站网络推广用什么软件好
  • php网站开发第三章优化建议
  • 网站域名跳转怎么做百度云资源搜索引擎
  • 关于行业网站建设意见seo入门
  • 网站怎么做电脑系统下载东莞寮步最新通知
  • 网站建设的设计总结滕州今日头条新闻
  • 做网站需要哪些知识百度云搜索引擎入口
  • 荆州网站设计个人博客网页设计
  • 长沙网站seo优化排名阿里云域名注册官网
  • 网站建设中扒站为什么是违法的网站外链有多重要
  • 游戏推广合作seo咨询岳阳
  • wordpress p=seo教程seo优化
  • 企业客户管理系统seo百度快照优化公司
  • 缪斯设计杭州seo优化
  • 东莞制作企业网站百度的网站
  • 用老域名做网站还是新域名优化大师是什么意思
  • 如何看一个网站的好坏北京seo关键词排名优化
  • 丹东网站网站建设海南网站建设
  • wordpress 个人电脑百度seo关键词外包
  • 曾舜晞网站是哪个公司做的电商如何从零做起
  • 做证明图片的网站百度指数电脑端查询
  • 免费php网站模板下载怎么提高百度关键词排名
  • 济南做网站比较好的免费软文推广平台
  • 网站建设费用 百度文库seo优化快排
  • 高端行业网站建设百度广告联系方式
  • 自己做网站自己做推广教程视频教程搜索引擎网址有哪些