module CrImage::Operation::MaskApply
  
  Overview
Apply a mask to an image
Taking sample image:
 
And mask
 
mask = CrImage::Mask.new(image, false)
mask[50..90, 65..75] = true
mask.to_gray.save("apply_mask_mask.jpg")
image.apply(mask).save("apply_mask.jpg")
image.apply_color(mask, CrImage::Color.of("#00f")).save("apply_mask_color.jpg")
image.apply(mask) do |pixel, channel_type, x, y|
  Math.min(255, pixel + 50).to_u8 if channel_type.blue?
end.save("apply_mask_block.jpg") 
 
 
  Direct including types
Defined in:
cr-image/operation/mask_apply.crInstance Method Summary
- 
        #apply(mask : Mask) : self
        
          Black out all pixels but those found in the mask 
- 
        #apply(mask : Mask, &block : UInt8, ChannelType, Int32, Int32 -> UInt8 | Nil) : self
        
          Apply block to all pixels that match mask, replacing pixel value if block returns non-nil value. 
- 
        #apply!(mask : Mask) : self
        
          TODO add apply version that accepts 1+ ChannelType that the mask should apply to (i.e. 
- #apply!(mask : Mask, &block : UInt8, ChannelType, Int32, Int32 -> UInt8 | Nil) : self
- 
        #apply_color(mask : Mask, color : Color) : self
        
          Change the color of all pixels that match the mask 
- #apply_color!(mask : Mask, color : Color) : self
Instance Method Detail
Apply block to all pixels that match mask, replacing pixel value if block returns non-nil value.
Does not change values not matched by the mask
TODO add apply version that accepts 1+ ChannelType that the mask should apply to (i.e. make a background completely transparent, not just transparent black)
Change the color of all pixels that match the mask