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

园林景观设计公司质量环境职业健康安全管控谷歌seo优化推广

园林景观设计公司质量环境职业健康安全管控,谷歌seo优化推广,wordpress缩略图模糊,网页升级中这个是在知乎上看到的大神写的文章#xff0c;如果是学习C语言入门的#xff0c;我觉得可以从这个入手#xff0c;特别是对图像感兴趣的。文章中提到的「我」#xff0c;指的是「Milo Yip」大神。1. 什么是png格式图片#xff1f;相对地#xff0c;PNG#xff08;Por… 这个是在知乎上看到的大神写的文章如果是学习C语言入门的我觉得可以从这个入手特别是对图像感兴趣的。文章中提到的「我」指的是「Milo Yip」大神。1.    什么是png格式图片相对地PNGPortable Network Graphics就是一个广为人知的图片格式。如果可以把影像直接储存成 PNG不是更理想么然而在 C/C 中写入 PNG 一般需要链接一些程序库例如 PNG 的标准参考程序库是 libpng。它很强大支持 PNG 所有功能但对于初学者而言配置、编译并学习如何使用这些程序库可能已足够打消动手的念头。可以简单一点么2.    svpng为此我在周末尝试写一个极简的 C 函数 Github miloyip/svpngsave PNG 的缩写它仅能写入 24-bit RGB 或 32-bit RGBA、无压缩的 PNG。它只有一个 32 行代码的函数。github地址https://github.com/miloyip/svpng用法如下#include svpng.incvoid test_rgb(void) {unsigned char rgb[256 * 256 * 3], *p  rgb;unsigned x, y;FILE *fp  fopen(rgb.png, wb);for (y  0; y  256; y)for (x  0; x  256; x) {*p  (unsigned char)x;    /* R */*p  (unsigned char)y;    /* G */*p  128;                 /* B */}svpng(fp, 256, 256, rgb, 0);fclose(fp); } 就会输出这个 rgb.png 文件这个函数的声明很简单缺省配置下是这样的/*!\brief 以 PNG 格式存储 RGB/RGBA 影像\param out 输出流缺省使用 FILE*。\param w 影像宽度。(16383)\param h 影像高度。\param img 影像像素数据内容为 24 位 RGB 或 32 位 ARGB 格式。\param alpha 影像是否含有 alpha 通道。 */ void svpng(FILE* out, unsigned w, unsigned h, const unsigned char* img, int alpha); 相信这样的函数时使对初学者而言也极易使用。也不需要另外生成程序库只要复制到项目便可使用。3.    代码实现这里简单介绍实现要点对此没兴趣的读者也可略过。根据 Portable Network Graphics (PNG) Specification (Second Edition) 「www.w3.org」PNG 文件由多个 chunk 组成。每个 chunk 的类型以 4 个字符表示。最基本的 PNG 文件内容是8 字节 magic number用于识别 PNG 格式IHDRImage Header chunk描述影像的维度、色彩深度、色彩格式、压缩类型等IDATImage Datachunk存储影像的像素数据IENDImage EndchunkPNG数据流结束每个 chunk 的结构是chunk 内容长度4 字节chunk 类型4 字节chunk 内容chunk 的 CRC包括类型和内容PNG 里的数据是以大端big endian编码的但在 IDAT 中每个 block 的长度则以小端存储。另外实现的难点之一是要同时实现 CRC-32 及 Adler-32 校验和checksum的生成。编码实现如下文字版请移玉步至 svpng.inc为了减少代码大小使用宏去避免加入多个函数。另外为了简化实现把每一行像素写成一个 block这样可能会浪费一点空间但对于这函数而言也不是问题。4.     结语本文介绍了一个极简的 C 函数 svpng方便在 C/C 中把图像存储成 PNG 文件并简介了当中的实现。希望读者能利用此函数进入计算机图形学之门。文中的 inc 而不是.h是因为inc 是对方法的实现而不是简单的声明。unsigned char rgb[256 * 256 * 3] 可能有的人不明白为什么数组要这样声明一个像素点是通过{R,G,B}三色值表示的所以后面有一个3但是一张图片是包含有长和宽的也就是前面的256*256就是这张图片的长和宽。实际上的图片是这样排列的 { R, G, B, R, G, B, ... } 的形式从上至下左至右。#推荐阅读#专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈关注公众号后台回复「1024」获取学习资料网盘链接。欢迎点赞关注转发在看您的每一次鼓励我都将铭记于心~嵌入式Linux微信扫描二维码关注我的公众号
http://www.zqtcl.cn/news/823474/

相关文章:

  • 增城百度做网站多少钱it培训机构排名
  • 网站开发项目规划书四川建设网个人证书查询网址
  • 怎么模板建站微信做单30元一单
  • 兰州建设局网站十堰专业网站建设
  • html5 网站源码网络营销课程思政
  • 建设网站贵吗深圳网站建设推广论坛
  • 做网站需注意事项会员卡管理系统下载
  • 嘉兴高端网站建设公司电子信息工程能进国家电网吗
  • 建网站 广州网站改版 理论
  • 门户网站简称昆明本地网站
  • 网站定位的核心意义离婚协议书模板 完整版
  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新
  • wap网站制作网络设计公司经营范围
  • 织梦网站被做跳转还被删除文件第三方电子商务平台有哪些
  • 财经网站源码 织梦游戏ui培训
  • 石家庄站布局图网站建设公司怎么
  • 电商网站建设选迅法网东莞系统网站建设
  • 网站栏目 英文wordpress 情侣
  • 济南市历下区建设局官方网站wordpress 作者页
  • 武进建设银行网站首页大型网站建设哪家快
  • 做网站用vs怎么自己写代码做网站
  • 网站建设产品需求文档技术培训学校机构
  • 简单个人网站源码石景山网站seo优化排名
  • 用花生做网站房地产电子商务的网站建设
  • 宁波网站建设团队sem竞价托管多少钱
  • 工艺品东莞网站建设营销助手app
  • 怎么添加网站 多少钱wordpress 在线教育模板