Darken

From Director Online Wiki
Jump to: navigation, search
--if a < b then
--  result := a
--else
--  result := b;
on darkenBlendMode (image1, image2)
  -- using the source image for the width and height
  -- you can add your own code here to determine how
  -- you want to handle this.
  theWidth = image1.width - 1
  theHeight = image1.height - 1
  theImage = image(theWidth + 1, theHeight + 1, 32)
  -- running through each pixel in theImage
  repeat with x = 0 to theWidth
    repeat with y = 0 to theHeight
      theColour1 = image1.getPixel(point(x,y))
      theColour2 = image2.getPixel(point(x,y))
      theRed = theColour2.red
      if theColour1.red < theColour2.red then theRed = theColour1.red
      theGreen = theColour2.green
      if theColour1.green < theColour2.green then theGreen = theColour1.green
      theBlue = theColour2.blue
      if theColour1.blue < theColour2.blue then theBlue = theColour1.blue
      theNewColour = color(theRed, theGreen, theBlue)
      theImage.setPixel(point(x, y), theNewColour)
    end repeat
  end repeat
  return theImage
end