diff --git a/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde b/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde index 7da391b71..4d9edb5de 100644 --- a/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde +++ b/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde @@ -6,8 +6,6 @@ * OBJ file of a rocket and displays it to the screen. */ -// The next line is needed if running in JavaScript Mode with Processing.js -/* @pjs preload="rocket.obj"; */ PShape rocket; diff --git a/java/examples/Topics/Image Processing/Blending/Blending.pde b/java/examples/Topics/Image Processing/Blending/Blending.pde new file mode 100644 index 000000000..6cdb2501b --- /dev/null +++ b/java/examples/Topics/Image Processing/Blending/Blending.pde @@ -0,0 +1,83 @@ +/** + * Blending + * by Andres Colubri. + * + * Images can be blended using one of the 10 blending modes + * (currently available only in P2D and P3). + * Click to go to cycle through the modes. + */ + +// NOTE: THIS EXAMPLE IS IN PROGRESS -- REAS + +PImage img1, img2; +int selMode = REPLACE; +String name = "REPLACE"; +int picAlpha = 255; + +void setup() { + size(640, 360, P3D); + img1 = loadImage("layer1.jpg"); + img2 = loadImage("layer2.jpg"); + noStroke(); +} + +void draw() { + + picAlpha = int(map(mouseX, 0, width, 0, 255)); + + background(0); + + tint(255, 255); + image(img1, 0, 0); + + blendMode(selMode); + tint(255, picAlpha); + image(img2, 0, 0); + + blendMode(REPLACE); + fill(255); + rect(0, 0, 94, 22); + fill(0); + text(name, 10, 15); +} + +void mousePressed() { + + if (selMode == REPLACE) { + selMode = BLEND; + name = "BLEND"; + } else if (selMode == BLEND) { + selMode = ADD; + name = "ADD"; + } else if (selMode == ADD) { + selMode = SUBTRACT; + name = "SUBTRACT"; + } else if (selMode == SUBTRACT) { + selMode = LIGHTEST; + name = "LIGHTEST"; + } else if (selMode == LIGHTEST) { + selMode = DARKEST; + name = "DARKEST"; + } else if (selMode == DARKEST) { + selMode = DIFFERENCE; + name = "DIFFERENCE"; + } else if (selMode == DIFFERENCE) { + selMode = EXCLUSION; + name = "EXCLUSION"; + } else if (selMode == EXCLUSION) { + selMode = MULTIPLY; + name = "MULTIPLY"; + } else if (selMode == MULTIPLY) { + selMode = SCREEN; + name = "SCREEN"; + } else if (selMode == SCREEN) { + selMode = REPLACE; + name = "REPLACE"; + } +} + +void mouseDragged() { + if (height - 50 < mouseY) { + picAlpha = int(map(mouseX, 0, width, 0, 255)); + } +}