javascript - 如何使用此图像上的颜色蒙版简单地替换颜色然后保存?以 RGBA 通道为例
问题描述
所以我在这里得到了这个GIF:
如您所见,它有红色、绿色和蓝色。它还具有完全的透明度。这是与 FFMPEG 一起由看起来完全一样的图像组成的。
然后,通过 FFMPEG,我使用过滤器“extractplanes”“分解”了 RGB 和 Alpha 通道。
可以在此处找到从上到下的正确顺序的画廊:
我不确定这是否真的对我有帮助,或者我是否应该分解它们。因为现在看来,在分解它们之后,我应该修改它们,但我不确定如何。这就像我如何修改只有黑色和白色的红色通道,所以最后都将匹配我想要的指定 HEX 颜色。
现在,我的问题是。我如何准确地使颜色变化发生?我可以简单地用 JavaScript 做到这一点吗?如果可能没有 ImageMagicks,是否可以使用 FFMPEG?也许是一种不需要太多安装的编程语言?
我的理解是这样的。这些通道基本上包含从 0 到 255 的黑白值。我认为“亮度”是 0 和 255。所以介于两者之间的东西会像灰色。
所以基本上,就像我们对红色做 (255,0,0) 一样。在这些通道中,如果我想要红色的某个地方,我需要在红色通道上放置一个全白像素,而在所有其他通道上,必须有一个全黑像素。
就是这个概念。现在的问题是,我该怎么做?
最后,我想让它看起来像这个颜色,例如:
这是来自一个游戏。所以基本上这就是它在游戏中的样子。并且游戏文件只使用这些 RGBA 模板精灵。
我在这里问了一个类似的问题:How to change colour of an image of an image using RGBA and more channels independent of their color
但不知何故,我似乎没有解释得那么好。
我在这里做了一个东西来测试。我想这几乎接近了,但线条有点奇怪。jsfiddle.net/qsgazubk
解决方案
推荐阅读
- ios - Swift 框架 - 未找到 Objective-C 标头
- php - 如何将变量或记录转换为数组
- swift - Swift 4.2 字典无法按键找到值
- java - 如何从按模式拆分的字符串中获取最后一个标记
- css - 单击 li 元素后删除 :hover 类
- s4sdk - 如何在 VDM 中获取本地化字段的文本?
- linux - 如何在 EC2 实例(ubuntu)上安装 RabbitMQ?
- java - 在启动 Web 应用程序 Spring 时从数据库加载后初始化属性
- java - Maven 命令“mvn clean jetty:run”和其他 mvn 命令在 Eclipse 中不起作用
- c# - C# 在导入数据表时跳过 csv 列