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

做网站 学php哪一部分宁波网站开发公司电话

做网站 学php哪一部分,宁波网站开发公司电话,盐城做网站哪家好,营销型网站建站公司一直以来从事基于海思开发板的开发#xff0c;但是每次想到“屏幕截图#xff0c;真的让人非常惭愧#xff01; 参考网上的代码修改了下#xff1a; #include stdio.h #include stdlib.h #include sys/ioctl.h #include unistd.h #…一直以来从事基于海思开发板的开发但是每次想到“屏幕截图真的让人非常惭愧 参考网上的代码修改了下 #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 #include errno.hextern int errno;/*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;const char *dev /dev/fb0;// 打开framebuffer设备fd open(dev, O_RDONLY);if(fd 0){printf(fd%d, error[%d: %s]\n, fd, errno, strerror(errno));printf(dev[%s]\n, dev);perror(open);return 1;}// 获取LCD的可变参数ioctl(fd, FBIOGET_VSCREENINFO, fb_var_info);// 一个像素多少位printf(bits_per_pixel: %d\n, fb_var_info.bits_per_pixel);printf(分辨率: %d x %d\n, fb_var_info.xres, fb_var_info.yres);printf(颜色分量值: (A, R, G, B) (%d, %d, %d, %d)bits\n, fb_var_info.transp.length, fb_var_info.red.length, fb_var_info.green.length, fb_var_info.blue.length);printf(颜色分量偏移: (A, R, G, B) (%d, %d, %d, %d)\n, fb_var_info.transp.offset, fb_var_info.red.offset, fb_var_info.green.offset, fb_var_info.blue.offset);// 获取LCD的固定参数ioctl(fd, FBIOGET_FSCREENINFO, fb_fix_info);// 一帧大小printf(smem_len: %#X\n, fb_fix_info.smem_len);// 一行大小printf(line_length: %#X\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; }最初编译时遇到的最大问题就是jpeg库是PC上的而不是适用于嵌入式下的。所以编译之前的第一步工作就是 下载并安装jpeg库 我下载的链接是http://www.ijg.org/files/jpegsrc.v9.tar.gz 解压到/mnt/other/jpeg-9目录下再执行以下shell命令 export CCarm-hismall-linux-gcc ./configure --hostarm-unknow-linux --prefix/opt/jpeg --enable-shared --enable-static接下来进行安装 make make install 这样就安装完成了。为了编译我的程序我写了个简单的makefile文件: CCarm-hismall-linux-gcc ALLaTarget: $(ALL)a: a.c$(CC) -o $ $^ -I/opt/jpeg/include /opt/jpeg/lib/libjpeg.acp $ /tftpboot/DVR/aclean:rm -f *.o $(ALL)接着就是编译程序了make OK, 程序编译完成在当前目录下生成可执行文件a不过这个文件只能在开发板上运行噢 在开发板上挂载/tftpboot/DVR目录将里面的a拷贝到开发板上可读写的目录下接着就可以执行a程序了执行完成后会在a所在的目录下生成out.jpg图片这个就是屏幕截图的结果了将它移到PC上就可以通过普通的图片浏览工具来预览了 但是最终生成的图片还是有点让人失望存在明显的失真等有空再研究估计是函数RGB565_to_RGB24()的问题抽空再改进下!
http://wiki.neutronadmin.com/news/295646/

相关文章:

  • 着陆页制作网站中国网站设计模板
  • 网站开发哪家公司网站优化培训班
  • 企业网站官网模板做网站原型图
  • 网站备案查询 api黄埔网站建设
  • 重庆网站建设velpai太原seo代理商
  • 搜索引擎禁止的方式优化网站网站提示建设中
  • 中邮保险网站一般可以建些什么种类的网站
  • php网站运行很慢网络建设规范和网络维护管理规范属于
  • 重启 iis 中的网站深圳网站建设哪个
  • 微信小程序网站建设方案十大网站app软件下载
  • 有关建筑网站建设方案案例简述什么是响应式布局
  • 网站设计常用软件企业网站如何设计
  • 绿色风格网站可以看任何网站的浏览器下载
  • 为什么登录不上建设银行网站在百度里面做网站要多少钱
  • 淄博网站建设服务商wordpress游戏小程序
  • 山西推广公司seo收费
  • 站酷网页版专业餐饮vi设计公司
  • 专业网站优化制作公司网站正能量晚上免费网址不用下载
  • 外贸上哪个网站开发客户wordpress调用百度地图吗
  • 教学网站模板一个专门做酒店招聘的网站
  • 刷神马网站优化排名电子商务网址大全
  • 专业企业建站系统商丘电子商务网站建设
  • 做网站的你选题的缘由是什么长春网络公司
  • 网站制作公司哪家好一点老域名对做网站的
  • 城乡和住房建设部网站施工企业质量管理制度
  • 个人做的小网站需要备案外贸论坛福步
  • wordpress开发中介网站商品房建设信息网站
  • 中型网站开发语言云南模板网站建设公司
  • 网站建设最便宜在线小游戏
  • 做淘宝要用到哪些网站昆明网站制作策划