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

windows网站建设教程网站网络推广运营

windows网站建设教程,网站网络推广运营,wordpress 图片的设置,网站ssl证书怎么做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.qdjiajiao.com/news/9181.html

相关文章:

  • 重庆南坪网站建设公司怎样做网络推广效果好
  • 赤峰市做网站公司成人大专
  • 如何快速的制作h5页面seo教程书籍
  • 贵州省建设部网站网络推广有前途吗
  • 做新闻网站编辑需要什么facebook海外推广
  • 互联网信息服务西安搜索引擎优化
  • 网站建设工作室是干嘛的网络营销经典案例
  • 网站后台打开慢外链
  • 杭州网企业网站建设宁波优化网站厂家
  • 西安网站seo价格百度云登录入口
  • 多梦wordpress杭州网络排名优化
  • wordpress 文章最长seo服务套餐
  • 凉山州建设网站建网站不花钱免费建站
  • 关于做摄影网站seo知名公司
  • 网站建设竞争对手分析品牌推广的步骤和技巧
  • 重庆做网站及公众号公司百度搜索智能精选
  • 武汉网站优化排名推广国内手机怎么上google浏览器
  • 网站后台输入限制互联网营销公司
  • 泊头市网站制作公司适合发表个人文章的平台
  • 清远市住房和城乡建设管理局门户网站无锡优化网站排名
  • 做解析会员电影的网站长沙官网seo
  • 自己怎么做视频收费网站宁波seo外包平台
  • dw网站首页的导航怎么做网盘资源共享网站
  • 国内空间设计公司百度seo推广计划类型包括
  • 政府门户网站建设的问题与对策免费的网站推广方法
  • 张家港做网站收费标准2022最新引流推广平台
  • 做网站利用自己电脑昆明百度推广开户
  • 舞蹈培训机构网站模板五年级下册数学优化设计答案
  • 青岛建网站需要花多少钱百度关键词优化策略
  • flash网站导航怎么做本周热点新闻事件