写点什么

图像方面的新闻:Xamarin 的 Kimono 以及 Google 的 Guetzli 和 Draco

  • 2017-03-30
  • 本文字数:1307 字

    阅读完需:约 4 分钟

Xamarin 开源了用于编辑 SkiaSharp 对象的工具,而 Google 则推出了减少 2D JPEG 和 3D 图形大小的方案。

Xamarin 是微软的子公司,开源了 Kimono 设计器,它是一个用来图形化编辑 SkiaSharp 对象的工具,这种对象随后可以转换为目标平台的编码。SkiaSharp 是基于 Skia 图像库的.NET 2D API,Skia 项目是由 Google 发起的,作为一种跨平台的图像引擎来使用,它目前用到了 Chrome、Firefox、Android 等平台上。Skia 和 SkiaSharp 的问题在于开发人员需要使用类似于 Java 2D 的底层的 API 来创建 2D 图像。使用它来绘制贝塞尔曲线的样例可以在 Skia Fiddle 页面上找到。Kimono 设计器能够让开发人员以图形化的方式创建 2D 图片,让这项任务变得更加简单。

Kimono 带来了很多的特性,包括颜色调色板(Color Palettes)、可视化的渐变编辑器(Visual Gradient Editor)、已命名的样式(Named Styles)、属性链接(Linked Properties)、脚本语言等。这个工具可以为 Windows (WinForms、UWP、WPF)、Android、iOS, MacOS、tvOS 或跨平台生成编码。目前,Kimono 只能运行在 MacOS 上,但是 Xamarin 计划提供 UWP 以及 Android 和 iOS 平板的版本。

而在另一方面,Google 开源了 Guetzli [guɛtsli],这是一个新的 JPEG 压缩算法和编码器,它能够提供更好的压缩比例同时保持图片的质量不受影响。按照 Google 的说法,Guetzli 的图片相对于 libjpeg 产生的相同 JPEG 图片,在文件大小上能够小 20-30%。根据这篇文章的说法,文件大小可以减少 35%。在实现这项功能时,不需要改变使用 JPEG 的浏览器和应用的已有写法。Guetzli 之所以能够实现更小的文件尺寸要归功于它能够消除图片中元素,而且不会影响图片的质量。开发 Guetzli 的团队这样描述到

JPEG 图片的视觉质量与其多个阶段的压缩过程直接相关:彩色空间转换(color space transform)离散余弦转换(discrete cosine transform)以及量化(quantization)。Guetzli 的目标就在量化阶段,在这个阶段,视觉质量损失得越多,所形成的文件就越小。Guetzli 在最小化损失和文件大小之间取得了一种平衡,这是通过一种搜索算法来实现的,该算法试图克服JPEG 格式的 psychovisual 模型与 Guetzli 的 psychovisual 模型之间的差异,相对于简单的色彩转换和离散余弦转换,Guetzli 能够采用一种更全面和细致的方式达到近似的色彩感知和视觉效果。Guetzli 做到了文件尺寸更小,但是其代价就是相对于目前可用的方法,它的搜索算法在创建压缩文件时,会耗费更长的时间。

在今年早些时候,在减少互联网数据传输方面,Google 还做了另外一项工作,这次的成果是应对 3D 图像。 Draco 是一个针对 3D 几何网格(geometric meshes)和点云(point clouds)的压缩库。这个库支持“压缩点、连接信息、纹理坐标(texture coordinates)、颜色信息、法线(normals)以及其他与几何相关的通用属性。”按照这篇文章的说法,相对于网格文件压缩,它所能达成的结果就是3D 图像能够在尺寸上减少十数倍。Draco 附带了一个C++ 编码器,还有一个C++ 和JavaScript 的转码器,其中JavaScript 转码器瞄准的就是Web 应用中的使用场景。

查看英文原文 News in Graphics: Xamarin Kimono, Google Guetzli and Draco

2017-03-30 19:001581

评论

发布
暂无评论
发现更多内容

Python XML-RPC实现简单的远程调用过程

宇宙之一粟

Python 7月月更

linux硬盘挂载教程

乌龟哥哥

7月月更

Hive的UDF

怀瑾握瑜的嘉与嘉

hive 7月月更

Flutter 退出当前操作二次确认怎么做才更优雅?

岛上码农

flutter ios 安卓 移动端开发 7月月更

服务可见可观测性

阿泽🧸

微服务 7月月更

「Docker 那些事儿」容器很难理解?带你从头到尾捋一遍

Albert Edison

7月月更

秒杀系统设计

库尔斯

架构实战营

线程的启动与优先级

zarmnosaj

7月月更

Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径

股市老人

DotNet圈里一个优秀的ORM——FreeSql

为自己带盐

7月月更 freesql dotnetcore

ajax

Jason199

ajax 7月月更

疫情当头,作为Leader如何进行团队的管理?| 社区征文

洛神灬殇

团队管理 远程办公 7月日更 初夏征文

你开发数据API最快多长时间?我1分钟就足够了

雨果

API API开发

linux-riscv-5.17 纯净源码

贾献华

7月月更

毕业总结

库尔斯

架构实战营

疫情当头,作为Leader如何进行代码版本和需求开发管控?| 社区征文

洛神灬殇

团队管理 远程办公 7月日更 远程开发 初夏征文

scrcpy这款软件解决了和同事分享手机屏幕的问题| 社区征文

尼露

电商系统微服务架构

极客土豆

为什么说数据服务化是下一代数据中台的方向?

雨果

数据中台 数字化转型 DaaS数据即服务

最全SQL与NoSQL优缺点对比

雨果

sql NoSQL 数据库

为什么网站打开速度慢?

源字节1号

网站开发

聊聊Flink框架中的状态管理机制

百思不得小赵

大数据 flink 状态 7月月更

Web侧防御指南

穿过生命散发芬芳

7月月更 Web防护

Vuex(一)

小恺

7月月更

leetcode 650. 2 Keys Keyboard 只有两个键的键盘(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

『快速入门electron』之实现窗口拖拽

是乃德也是Ned

Electron electron实战 7月月更

今晚要修稿子準備發佈。但是,仍卡在這裡,也許你需要的是一個段子。

叶小鍵

图解网络:什么是虚拟路由器冗余协议 VRRP?

wljslmz

网络技术 路由协议 7月月更 VRRP

Spring Boot应用在kubernetes的sidecar设计与实战

程序员欣宸

Java Kubernetes Sidecar 7月月更

封装一个koa分布式锁中间件来解决幂等或重复请求的问题

程序知音

编程 程序员 后端

CSRF

急需上岸的小谢

7月月更

图像方面的新闻:Xamarin的Kimono以及Google的Guetzli和Draco_.NET_Abel Avram_InfoQ精选文章