javascript - 有灰度 JPG 格式吗?
问题描述
将彩色 JPG 图像转换为灰度图像并将其保存回 JPG 时,通常可以看到文件大小至少减少 20%,这看起来很自然。
问题:
JPG 规范中是否有特定的“灰度”格式?我在JPEG File Interchange Format中看到了这一点,但不确定它是否是现在使用的标准
或者是“灰度 JPG”通常只是彩色 RGB JPG where
R = G = B
,因此文件大小的减少是由 3 次重复数字的压缩导致的?
在我看来,它是 2。因为在各种语言中,JPG 导出函数没有灰度选项,例如toDataURL
在 Javascript 中:
var fullQuality = canvas.toDataURL('image/jpeg', 1.0);
var mediumQuality = canvas.toDataURL('image/jpeg', 0.5);
var lowQuality = canvas.toDataURL('image/jpeg', 0.1);
解决方案
彩色 JPEG 有 3 个分量: Y Cb Cr
灰度 JPEG 有 1 个分量:Y
您只需更新标题以指示 1 个组件并删除 Cb 和 Cr 扫描,即可将彩色 JPEG 转换为灰度。
推荐阅读
- javascript - Daterangepicker 如何获取预定义日期范围的值
- arrays - 在ant design table中使用多维数组
- c# - UWP SQLite 并发说明
- async-await - 条带检索客户方法是返回客户还是将其传递给回调?
- javascript - 运行 python 应用程序的最简单方法是从 Web 应用程序接收数据,处理/操作它,然后将其推回前端
- python - Pycharm 失去了视图和模板之间的连接
- three.js - 使用加速度计旋转 object3D
- reactjs - 将道具传递给使用包装器的子组件
- reactjs - 如何将 json 文件从 s3 返回到特定的 url,但只有那个 url
- php - 如何在 laravel 5.8 中更改应用程序名称