使用 libvips 创建形状 ruby
Create a shape with libvips ruby
如何将任意颜色和形状的图片转换成它的形状?作为示例,我附上了输入图像和所需的输出。我需要使用 ruby 和 ruby-vips gem 进行此转换。一般来说,我需要用单一颜色填充任何非 alpha 通道的东西。
你可以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
如何将任意颜色和形状的图片转换成它的形状?作为示例,我附上了输入图像和所需的输出。我需要使用 ruby 和 ruby-vips gem 进行此转换。一般来说,我需要用单一颜色填充任何非 alpha 通道的东西。
你可以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