【发布时间】:2020-05-30 11:36:41
【问题描述】:
如何将任何颜色和形状的图片转换成它的形状?作为示例,我附加了输入图像和所需的输出。我需要使用 ruby 和 ruby-vips gem 进行这种转换。一般来说,我需要用单色填充任何不是 alpha 通道的东西。
【问题讨论】:
标签: ruby imagemagick imagick mogrify vips
如何将任何颜色和形状的图片转换成它的形状?作为示例,我附加了输入图像和所需的输出。我需要使用 ruby 和 ruby-vips gem 进行这种转换。一般来说,我需要用单色填充任何不是 alpha 通道的东西。
【问题讨论】:
标签: ruby imagemagick imagick mogrify vips
你可以use [ ] to get bands出一张图片。你的图像是 RGBA,所以 0、1 和 2 是 R、G 和 B,而 3 是 A。
alpha = image[3]
您也可以使用范围,例如:
rgb = image[0..2]
获取前三个波段。 bandsplit 将图像分解为一组单波段图像:
r, g, b, a = image.bandsplit
alpha 的 0 表示透明,255 表示纯色,听起来您更喜欢它的反面。因此:
mask = image[3].invert
【讨论】: