/*************************************************************************************************** * PhotoGrok Script * * Apply a random 'psychedelic' filter to viewed images. Version 2.42 required. * * Does not work in Apple's Java 6 JVM. Feel free to debug. * Fastest in Java 8. **************************************************************************************************/ function rc(){ var r = Math.floor((Math.random() * 255) + 0); var g = Math.floor((Math.random() * 255) + 0); var b = Math.floor((Math.random() * 255) + 0); return new Color(r, g, b); } var painter = function(gfx, image, ig, pp){ if(image != null){ var rect = pp.getImageRect(image); var x = rect.x; var y = rect.y; var vw = rect.width; var vh = rect.height; gfx.translate(Math.max(pp.imageX, 0), Math.max(pp.imageY, 0)); var c1 = rc(); var c2 = rc(); var c3 = rc(); var c4 = rc(); var c5 = rc(); for(var i = x; i < vw + x; i++){ for(var j = y; j < vh + y; j++){ var pixel = image.getRGB(i,j); var b = (pixel) & 0xff; var g = (pixel >> 8) & 0xff; var r = (pixel >> 16) & 0xff; // draw highlights if(r > 200 && g > 200 && b > 200){ gfx.setColor(c1); gfx.drawLine(i - x, j - y, i - x, j - y); }else if(r > 150 && g > 150 && b > 150){ gfx.setColor(c2); gfx.drawLine(i - x, j - y, i - x, j - y); }else if(r < 55 && g < 55 && b < 55){ gfx.setColor(c3); gfx.drawLine(i - x, j - y, i - x, j - y); }else if(r < 105 && g < 105 && b < 105){ gfx.setColor(c4); gfx.drawLine(i - x, j - y, i - x, j - y); }else{ gfx.setColor(c5); gfx.drawLine(i - x, j - y, i - x, j - y); } } } } }; setPainter(painter); setThumbnailPainter(painter);