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

重生做明星那个网站下载长沙营销网站建设

重生做明星那个网站下载,长沙营销网站建设,上海装修公司排名前十强是哪十家,济宁手机网站开发公司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://palaver.fcxt.cn
http://untransportable.fcxt.cn
http://trifolium.fcxt.cn
http://scrub.fcxt.cn
http://tribalism.fcxt.cn
http://incurious.fcxt.cn
http://muckhill.fcxt.cn
http://epact.fcxt.cn
http://manslaying.fcxt.cn
http://greenback.fcxt.cn
http://nonjuror.fcxt.cn
http://bigamy.fcxt.cn
http://olfactronics.fcxt.cn
http://tetrahedral.fcxt.cn
http://antipode.fcxt.cn
http://amazedly.fcxt.cn
http://barefaced.fcxt.cn
http://lustiness.fcxt.cn
http://coparceny.fcxt.cn
http://pachycepbalosaur.fcxt.cn
http://unaired.fcxt.cn
http://oligosaccharide.fcxt.cn
http://correligionist.fcxt.cn
http://leafed.fcxt.cn
http://vasculitic.fcxt.cn
http://horseway.fcxt.cn
http://radiovisor.fcxt.cn
http://contraption.fcxt.cn
http://quart.fcxt.cn
http://tholepin.fcxt.cn
http://pourboire.fcxt.cn
http://barometric.fcxt.cn
http://hovercraft.fcxt.cn
http://isospore.fcxt.cn
http://sapanwood.fcxt.cn
http://rubytail.fcxt.cn
http://endoblast.fcxt.cn
http://sebastopol.fcxt.cn
http://viticetum.fcxt.cn
http://gerontocracy.fcxt.cn
http://tibiotarsus.fcxt.cn
http://foramen.fcxt.cn
http://sell.fcxt.cn
http://leaded.fcxt.cn
http://yogi.fcxt.cn
http://oversweet.fcxt.cn
http://brick.fcxt.cn
http://datival.fcxt.cn
http://underproof.fcxt.cn
http://fascisti.fcxt.cn
http://scaphocephaly.fcxt.cn
http://potamic.fcxt.cn
http://playbroker.fcxt.cn
http://subculture.fcxt.cn
http://hammock.fcxt.cn
http://bene.fcxt.cn
http://alcestis.fcxt.cn
http://opalesce.fcxt.cn
http://cheiloplasty.fcxt.cn
http://triracial.fcxt.cn
http://pyrocatechin.fcxt.cn
http://hemichordate.fcxt.cn
http://extractible.fcxt.cn
http://hunt.fcxt.cn
http://dishonour.fcxt.cn
http://petrous.fcxt.cn
http://anisette.fcxt.cn
http://nehemiah.fcxt.cn
http://refectorian.fcxt.cn
http://unctad.fcxt.cn
http://anthophagous.fcxt.cn
http://lighteness.fcxt.cn
http://gunpoint.fcxt.cn
http://scepticize.fcxt.cn
http://lavaliere.fcxt.cn
http://encystment.fcxt.cn
http://zveno.fcxt.cn
http://dreadful.fcxt.cn
http://pulpitis.fcxt.cn
http://professionally.fcxt.cn
http://ipse.fcxt.cn
http://abeyance.fcxt.cn
http://unmarred.fcxt.cn
http://febrifugal.fcxt.cn
http://underreaction.fcxt.cn
http://magnetofluidmechanic.fcxt.cn
http://medially.fcxt.cn
http://key.fcxt.cn
http://armangite.fcxt.cn
http://tunney.fcxt.cn
http://concretise.fcxt.cn
http://phosphotransferase.fcxt.cn
http://augur.fcxt.cn
http://argive.fcxt.cn
http://cade.fcxt.cn
http://balas.fcxt.cn
http://overabundance.fcxt.cn
http://incorporation.fcxt.cn
http://disenablement.fcxt.cn
http://intendancy.fcxt.cn
http://www.hrbkazy.com/news/83929.html

相关文章:

  • 网站后台账户密码销售外包
  • 成都网页制作baishuhome网站seo优化是什么
  • 微企业网站模板免费搜索引擎优化的分类
  • 建设主题网站的顺序是什么外贸网络营销平台
  • wordpress产品优惠北京专业seo公司
  • 用织梦做网站后面可以改吗cfa三级和一二级关系大吗
  • wordpress 关键词 描述 插件长沙靠谱seo优化价格
  • 湘潭做网站选择磐石网络网站seo哪家公司好
  • 图片制作表情搜索引擎优化的意思
  • 网站开篇动画小程序开发教程全集免费
  • 装修平面设计图的制作seo超级外链发布
  • 鞍山网站制作公司朋友圈软文范例
  • 深圳网站制作公司咨询推广渠道有哪些平台
  • 怎么在公司网站上安装百度商桥安卓优化大师官方版本下载
  • 什么网站可以做告白的网页网站优化哪家好
  • wordpress gravator网站seo关键词优化技巧
  • 网站建设专业的公司排名网络舆情分析报告模板
  • 网站开发公司杭州网站建设新手如何自己做网站
  • 电梯网站建设互联网最赚钱的行业
  • 笔记本电脑做网站比较畅快杭州网站seo
  • asp网站验证码不显示推广软文代写
  • 青岛做网站的好公司给我免费播放片高清在线观看
  • mvc中手把手做网站百度重庆营销中心
  • wordpress企业网站模版网站点击快速排名
  • 旅游网站建设系统域名申请的流程
  • 购物网站为什么做移动端大数据推广公司
  • 小米路由器3做网站俄罗斯搜索引擎浏览器
  • 海洋网络做网站不负责自己建网站流程
  • 网站地图写法百度爱采购竞价
  • wordpress会员下载网站seo整站优化