写点什么

图像方面的新闻: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:001705

评论

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

请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

一叶知秋

必知必会,程序员都应该会的Linux的50个知识点!

Java小咖秀

Linux 面试 运维 Shell 经验

Cocoa 代码注释与文档生成

Edmond

ios CocoaPods 代码注释 Swift-Document iOS Document

《零基础学 Java》 FAQ 之 17-怎么理解Java中的数组

臧萌

Java

SharePoint 往事之:一句话让 SharePoint 罢工

手艺人杨柳

SharePoint

如何写出高质量的代码?(浅谈代码规范、重构、单元测试的重要性)

Nick

单元测试 重构 代码重构 代码规范

跨云厂商部署 k3s 集群

米开朗基杨

k3s wireguard

新基建时代区块链应用场景进化

CECBC

新基建 区块链技术 去中心化 产业落地

思想不进化的人都是可怜人

Neco.W

提升认知 思考 进步 进化

Android APP启动白屏优化

小菜鸟学php

android白屏

当你输入get/set命令的时候,Redis做了什么

老胡爱分享

redis 源码分析

你真的了解敏捷吗?听马丁福勒聊敏捷

涛哥 数字产品和业务架构

敏捷 数字化转型

架构师训练营 - 第 3 课总结 -20200620- 软件设计

👑👑merlan

架构设计 软件设计 SOLID

架构师训练营第三周-总结

无心水

极客大学架构师训练营

架构师训练营第二周课后作业

赵凯

框架设计

小师妹学JVM之:JIT中的LogCompilation

程序那些事

JVM 小师妹 性能调优 JIT 签约计划第二季

UML实践-食堂就餐卡系统

shangyu

极客大学架构师训练营

架构师训练营第三周

Melo

加入生财有术后,我获得了什么

Jay Wu

一种极致性能的缓冲队列

捉虫大师

Java 性能

英特尔宋继强:坚持科研的长期主义 推动AI向3.0时代跃迁

最新动态

面向对象设计课程小结

梅子黄时雨

极客大学架构师训练营

第二周学习总结

师哥

重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」

小傅哥

设计模式 小傅哥 重构 代码优化 责任链模式

为什么Web开发人员在2020年不用最新的CSS功能

葡萄城技术团队

CSS

还在埋头干活?给程序员的几个忠告

四猿外

Java 深度思考 程序员 随笔杂谈

Flink on Zeppelin (5) 高级特性篇

Geek_8o1tcx

大数据 flink 流计算 Zeppelin

互联网人的娱乐精神之28岁退休 & P8和生活助理的故事

码农神说

程序员 漫画 退休

加密与解密

返町

架构师训练营作业 (第三周)

王海

极客大学架构师训练营

数据库如何弹性伸缩?

Aaron_涛

数据库 架构 云原生

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