//@Override public Image process(Image imageIn) { Image clone = imageIn.clone(); imageIn = gradientFx.process(imageIn); ImageBlender blender = new ImageBlender(); blender.Mode = BlendMode.ColorBurn; return saturationFx.process(blender.Blend(clone, imageIn)); //return imageIn;// saturationFx.process(imageIn); }
public Image process(Image input) { Image saturated = saturationFx.process(input.clone()); Image blurred = blurFx.process(saturated); input = blender.Blend(saturated, blurred); Image edge = edgeDetectionFx.process(input.clone()); return(edgeBlender.Blend(input, edge)); }
//@Override public Image process(Image imageIn) { Image clone = imageIn.clone(); imageIn = gradientFx.process(imageIn); ImageBlender blender = new ImageBlender(); blender.Mode = BlendMode.Subractive; return(saturationFx.process(blender.Blend(clone, imageIn))); //return imageIn;// saturationFx.process(imageIn); }
//@Override public CustomImage process(CustomImage imageIn) { ParamEdgeDetectFilter pde = new ParamEdgeDetectFilter(); pde.K00 = 1; pde.K01 = 2; pde.K02 = 1; pde.Threshold = 0.25f; pde.DoGrayConversion = false; ImageBlender ib = new ImageBlender(); ib.Mode = (int)BlendMode.Multiply; return ib.Blend(imageIn.clone(), pde.process(imageIn)); }
//@Override public Image process(Image imageIn) { GradientMapFilter gmf = new GradientMapFilter(Gradient.BlackSepia()); gmf.ContrastFactor = 0.15f; ImageBlender ib = new ImageBlender(); ib.Mixture = 0.7f; ib.Mode = BlendMode.Overlay; imageIn = ib.Blend(imageIn.clone(), gmf.process(imageIn)); VignetteFilter vigette = new VignetteFilter(); vigette.Size = 0.7f; return vigette.process(imageIn); }
//@Override public Image process(Image imageIn) { ParamEdgeDetectFilter pde = new ParamEdgeDetectFilter(); pde.K00 = 1; pde.K01 = 2; pde.K02 = 1; pde.Threshold = 0.25f; pde.DoGrayConversion = false; pde.DoInversion = false; ImageBlender ib = new ImageBlender(); ib.Mode = (int)BlendMode.LinearLight; ib.Mixture = 2.5f; return ib.Blend(imageIn.clone(), pde.process(imageIn)); }
//@Override public Image process(Image imageIn) { ParamEdgeDetectFilter pde = new ParamEdgeDetectFilter(); pde.K00 = 1; pde.K01 = 2; pde.K02 = 1; pde.Threshold = 0.25f; pde.DoGrayConversion = false; ImageBlender ib = new ImageBlender(); ib.Mode = (int)BlendMode.Multiply; return(ib.Blend(imageIn.clone(), pde.process(imageIn))); }
//@Override public Image process(Image imageIn) { int r, g, b; int width = imageIn.getWidth(); int height = imageIn.getHeight(); int ratio = width > height ? height * 32768 / width : width * 32768 / height; // Calculate center, min and max int cx = width >> 1; int cy = height >> 1; int max = cx * cx + cy * cy; int min = (int)(max * (1 - Size)); int diff = max - min; Image clone = imageIn.clone(); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { // Calculate distance to center and adapt aspect ratio int dx = cx - x; int dy = cy - y; if (width > height) { dx = (dx * ratio) >> 15; } else { dy = (dy * ratio) >> 15; } int distSq = dx * dx + dy * dy; r = (int)((((float)distSq / diff) * R)); g = (int)((((float)distSq / diff) * G)); b = (int)((((float)distSq / diff) * B)); r = (byte)(r > R ? R : (r < 0 ? 0 : r)); g = (byte)(g > G ? G : (g < 0 ? 0 : g)); b = (byte)(b > B ? B : (b < 0 ? 0 : b)); imageIn.setPixelColor(x, y, r, g, b); } } ImageBlender blender = new ImageBlender(); blender.Mode = BlendMode.Additive; return(blender.Blend(clone, imageIn)); }
//@Override public Image process(Image imageIn) { GradientMapFilter gmf = new GradientMapFilter(Gradient.BlackSepia()); gmf.ContrastFactor = 0.15f; ImageBlender ib = new ImageBlender(); ib.Mixture = 0.7f; ib.Mode = BlendMode.Overlay; imageIn = ib.Blend(imageIn.clone(), gmf.process(imageIn)); VignetteFilter vigette = new VignetteFilter(); vigette.Size = 0.7f; return(vigette.process(imageIn)); }
//@Override public Image process(Image imageIn) { int r, g, b; int width = imageIn.getWidth(); int height = imageIn.getHeight(); int ratio = width > height ? height * 32768 / width : width * 32768 / height; // Calculate center, min and max int cx = width >> 1; int cy = height >> 1; int max = cx * cx + cy * cy; int min = (int)(max * (1 - Size)); int diff = max - min; Image clone = imageIn.clone(); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { // Calculate distance to center and adapt aspect ratio int dx = cx - x; int dy = cy - y; if (width > height) dx = (dx * ratio) >> 15; else dy = (dy * ratio) >> 15; int distSq = dx * dx + dy * dy; r = (int)((((float)distSq / diff) * R)); g = (int)((((float)distSq / diff) * G)); b = (int)((((float)distSq / diff) * B)); r = (byte)(r > R ? R : (r < 0 ? 0 : r)); g = (byte)(g > G ? G : (g < 0 ? 0 : g)); b = (byte)(b > B ? B : (b < 0 ? 0 : b)); imageIn.setPixelColor(x, y, r, g, b); } } ImageBlender blender = new ImageBlender(); blender.Mode = BlendMode.Additive; return blender.Blend(clone, imageIn); }