Hard Light
From Director Online Wiki
--if b < 128 then -- result := (a*b) SHR 7 --else -- result := 255 - ((255-b) * (255-a) SHR 7); -- ******* this is overlay mode in photoshop ******* on hardlightBlendMode (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) theDivisor = 127.0 -- 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)) if theColour2.red < 128 then theRed = (theColour1.red * theColour2.red) / theDivisor else theRed = 255 - ((255 - theColour2.red) * (255 - theColour1.red) / theDivisor) end if if theColour2.green < 128 then theGreen = (theColour1.green * theColour2.green) / theDivisor else theGreen = 255 - ((255 - theColour2.green) * (255 - theColour1.green) / theDivisor) end if if theColour2.blue < 128 then theBlue = (theColour1.blue * theColour2.blue) / theDivisor else theBlue = 255 - ((255 - theColour2.blue) * (255 - theColour1.blue) / theDivisor) end if theNewColour = color(theRed, theGreen, theBlue) theImage.setPixel(point(x, y), theNewColour) end repeat end repeat return theImage end