【问题标题】:How to convert a png to greyscale, using Lua?如何使用 Lua 将 png 转换为灰度?
【发布时间】:2020-11-26 05:35:02
【问题描述】:

【问题讨论】:

  • 万一你使用的库没有内置过滤器,这个公式是微不足道的。请显示您遇到问题的代码。

标签: lua png


【解决方案1】:

PNG 是一种压缩格式,因此如果没有某种库,您将无法加载它。 BMP 更容易加载到内存中,例如:https://bitbucket.org/itraykov/utils/src/master/io/bmp.lua

现在关于如何将颜色转换为黑白的原始问题,最简单的方法是使用 RGB 平均值:

local r, g, b = getColor()
local bw = (r + g + b)/3
setColor(bw, bw, bw)

当然,您需要根据您使用的库更改 getColor/setColor。对于具有透明度或 Alpha 通道的图像,需要进行额外检查。

【讨论】:

猜你喜欢
  • 2014-06-20
  • 2017-12-08
  • 1970-01-01
  • 2018-04-28
  • 2020-01-07
  • 2011-01-09
  • 1970-01-01
  • 2021-12-06
  • 2011-01-25
相关资源
最近更新 更多