0

如何将具有任何颜色和形状的图片转换为其形状?作为示例,我附加了输入图像和所需的输出。我需要使用 ruby​​ 和 ruby​​-vips gem 进行这种转换。一般来说,我需要用单色填充任何不是 alpha 通道的东西。

输入

输出

4

1 回答 1

2

您可以使用从图像[ ]中获取条带。你的图像是 RGBA,所以 0、1 和 2 是 R、G 和 B,而 3 是 A。

alpha = image[3]

样本图像的 alpha 通道

您也可以使用范围,例如:

rgb = image[0..2]

获取前三个频段。bandsplit将图像分解为一组单波段图像:

r, g, b, a = image.bandsplit

alpha 的 0 代表透明,255 代表纯色,听起来你更喜欢它的倒数。所以:

mask = image[3].invert
于 2020-05-30T12:02:10.693 回答