【发布时间】:2018-07-19 20:00:10
【问题描述】:
我有一个带有不规则形状对象轮廓的 png,我想将其变成蒙版。我需要用黑色填充内部,然后交换黑色和白色。它是 8 位灰度,只有 0 和 255 的值。
我不能填充外部,而让内部保持白色,因为轮廓本身必须包含在正区域中。 (假设已经定义了黑色、白色和红色的数组值。)
mask = Vips::Image.new_from_file(fl)
mask = mask.draw_flood(black, center_x, center_y, :equal => true) * -1
这将返回全黑光栅。嘘!这可行,但丑陋且效率低下。
mask = mask.draw_flood(black, center_x, center_y, :equal => true)
mask = mask.draw_flood(red, 0, 0, :equal => true)
mask = mask.draw_flood(white, center_x, center_y, :equal => true)
mask = mask.draw_flood(black, 0, 0, :equal => true)
有人知道更优雅的解决方案吗?感谢您的指导。
【问题讨论】: