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

门户网站内容管理系统品牌设计的原则有哪些

门户网站内容管理系统,品牌设计的原则有哪些,移动网站开发教程,电脑网络游戏From: http://blog.chinaunix.net/uid-24789420-id-3191806.html 一、概述 最近看到网上有人问怎么用C语言实现屏幕截图#xff0c;刚好自己也在研究Linux驱动#xff0c;于是花了半天时间把Linux的FrameBuffer驱动看懂了个七八#xff0c;接着就动手写了个LCD屏幕截图的应…From: http://blog.chinaunix.net/uid-24789420-id-3191806.html 一、概述 最近看到网上有人问怎么用C语言实现屏幕截图刚好自己也在研究Linux驱动于是花了半天时间把Linux的FrameBuffer驱动看懂了个七八接着就动手写了个LCD屏幕截图的应用程序。 一些说明 1. 板子LCD的分辨率为480x272像素格式为RGB565。 2. 程序首先获取LCD的一些参数 然后将获取到的一帧数据转换为RGB24格式最后用jpeglib库压缩为jpg格式的图片。 3. 在嵌入式Linux的板子上测试通过。 二、实现 程序中有注释不多说直接上程序 #include stdio.h #include stdlib.h #include sys/ioctl.h #include unistd.h #include fcntl.h #include malloc.h #include linux/fb.h #include jpeglib.h #include jerror.h/*RGB565转RGB24函数*rgb565: 指向存放rgb565数据的起始地址*rgb24指向存放rgb24数据的起始地址*width屏幕(分辨率)的宽度*height屏幕(分辨率)的高度*/ int RGB565_to_RGB24(unsigned char *rgb565, unsigned char *rgb24, int width, int height) {int i;int whole width*height;unsigned char r, g, b;unsigned short int *pix565;pix565 (unsigned short int *)rgb565;for(i 0;i whole;i){ r ((*pix565)11)0x1f;*rgb24 (r3) | (r2);rgb24;g ((*pix565)5)0x3f;*rgb24 (g2) | (g4);rgb24;b (*pix565)0x1f;*rgb24 (b3) | (b2);rgb24;pix565; }return 1; }/*jpeg压缩函数*rgb指向存放rgb24数据的起始地址*width屏幕(分辨率)的宽度*height屏幕(分辨率)的高度 */ int jpeg_compress(unsigned char *rgb, int width, int height) {struct jpeg_compress_struct cinfo;struct jpeg_error_mgr jerr;FILE * outfile;JSAMPROW row_pointer[1];int row_stride;cinfo.err jpeg_std_error(jerr);jpeg_create_compress(cinfo);// 输出文件名为out.jpgif ((outfile fopen(out.jpg, wb)) NULL){printf(can not open out.jpg\n);return -1;}jpeg_stdio_dest(cinfo, outfile);cinfo.image_width width;cinfo.image_height height;cinfo.input_components 3; // 1-灰度图3-彩色图// 输入数据格式为RGBcinfo.in_color_space JCS_RGB; // JCS_GRAYSCALE-灰度图JCS_RGB-彩色图jpeg_set_defaults(cinfo);jpeg_set_quality(cinfo, 80, TRUE); // 设置压缩质量80jpeg_start_compress(cinfo, TRUE); // 开始压缩过程row_stride width * 3; // row_stride: 每一行的字节数while (cinfo.next_scanline cinfo.image_height){row_pointer[0] rgb[cinfo.next_scanline * row_stride];(void) jpeg_write_scanlines(cinfo, row_pointer, 1);}jpeg_finish_compress(cinfo); // 完成压缩过程fclose(outfile);jpeg_destroy_compress(cinfo); // 释放资源return 1; }int main() {int fd;struct fb_var_screeninfo fb_var_info;struct fb_fix_screeninfo fb_fix_info;unsigned char *trgb;unsigned char *rgb;int buffer_size;// 打开framebuffer设备fd open(/dev/fb0, O_RDONLY);if(fd 0){printf(can not open dev\n);exit(1);}// 获取LCD的可变参数ioctl(fd, FBIOGET_VSCREENINFO, fb_var_info);// 一个像素多少位 printf(bits_per_pixel: %d\n, fb_var_info.bits_per_pixel);// x分辨率printf(xres: %d\n, fb_var_info.xres);// y分辨率printf(yres: %d\n, fb_var_info.yres);// r分量长度(bit)printf(red_length: %d\n, fb_var_info.red.length);// g分量长度(bit)printf(green_length: %d\n, fb_var_info.green.length);// b分量长度(bit)printf(blue_length: %d\n, fb_var_info.blue.length);// t(透明度)分量长度(bit)printf(transp_length: %d\n, fb_var_info.transp.length);// r分量偏移printf(red_offset: %d\n, fb_var_info.red.offset);// g分量偏移printf(green_offset: %d\n, fb_var_info.green.offset);// b分量偏移printf(blue_offset: %d\n, fb_var_info.blue.offset);// t分量偏移printf(transp_offset: %d\n, fb_var_info.transp.offset);// 获取LCD的固定参数ioctl(fd, FBIOGET_FSCREENINFO, fb_fix_info);// 一帧大小printf(smem_len: %d\n, fb_fix_info.smem_len);// 一行大小printf(line_length: %d\n, fb_fix_info.line_length);// 一帧大小buffer_size (fb_var_info.xres * fb_var_info.yres * fb_var_info.bits_per_pixel / 8);trgb (unsigned char *)malloc(buffer_size);if(trgb NULL)exit(0);rgb (unsigned char *)malloc(fb_var_info.xres * fb_var_info.yres * 3);if(rgb NULL){goto here;}if(read(fd, trgb, buffer_size) 0) // 获取一帧数据{printf(read failed!\n);goto read_fail;}// 格式转换RGB565_to_RGB24(trgb, rgb, fb_var_info.xres, fb_var_info.yres);// jpeg压缩if(jpeg_compress(rgb, fb_var_info.xres, fb_var_info.yres) 0)printf(compress failed!\n); read_fail:free(rgb); here:free(trgb);close(fd);return 0; }注意编译时加上 -ljpeg
http://wiki.neutronadmin.com/news/218345/

相关文章:

  • 将台地区网站建设网站开发主要创新点
  • 潍坊网站优化培训html网页布局
  • 网站站群建设方案网站建设方面论文
  • kloxo网站压缩网站备案被注销
  • 网站开发背景图模板用ps如何做网站首页
  • 淘宝做基础销量网站新浪微博指数查询
  • 建设用地预审系统官方网站wordpress 怎么安全
  • 网站栏目变了怎么做跳转温州网站建设培训班
  • 石家庄网站模板建站世界著名网站开发语言
  • 沈阳网站排名优化网站搭建者
  • 网站开发完后部署到网上马洪旭 做的网站大学
  • 建网站那家好html网页模板下载html模板
  • 中国空间站建造完成网站挂载
  • 网站怎么做二维码链接低代码开发平台哪个最好
  • 深圳网站建设智能小程序怎么开发公众号平台
  • 网站开发技术的现状及发展趋势网易考拉的网站建设
  • 国家基础设施建设网站在别人的网站做域名跳转
  • 寮步网站建设哪家好官方网站改版建议
  • 建设局网站模板企业官网的建设
  • 什么网站能免费做推广网站建设互联网营销营销推广
  • 个人网站备案可以做项目网站邢台市教育局
  • 做简单的网站首页做sorry动图的网站
  • 企业如何进行网站备案wordpress重新发布
  • 推荐个做兼职的网站免费发布信息有哪些网站
  • 海鲜网站模板工信部网站域名备案
  • 网站优化的方法有哪些网站建设目的主要包括哪些
  • 网站自动提交收录网页设计师培训多久
  • 重庆建工集团建设网站新媒体代运营公司
  • 南宁小程序开发网站建设公司一级a做片免费网站
  • 大连住房和建设局网站专门做优选的网站