Image processing in Java
JDeli is able to process image files or images in memory. Multiple processing operations can be applied together with the convert or process methods.
Process an image file
JDeli.convert(File inputFile, File outputFile, ImageProcessingOperations operations);
JDeli can also convert between different image file formats at the same time.
Process a BufferedImage
This can be done two ways:
Using the process method in JDeli
image = JDeli.process(ImageProcessingOperations operations, BufferedImage image);
or
Using the apply method in ImageProcessingOperations
image = operations.apply(BufferedImage image);
ImageProcessingOperations class
This class provides multiple image processing operations and an interface to add your own custom operations. Multiple operations can be added and will execute in that order.
Create an instance and pass into the JDeli process or convert methods.
Example 1 - Create a set of processing operations
ImageProcessingOperations operations = new ImageProcessingOperations();
operations.scale(1f);
operations.custom(new MyCustomProcess());
operations.rotate(90); //units are degrees
Example 2 - Chain a set of processing operations
ImageProcessingOperations operations = new ImageProcessingOperations()
.scale(1f)
.custom(new MyCustomProcess())
.rotate(90);
Example 3 - undoing and redoing operations
operations.undo(); // remove last operation added
operations.redo(); // re-add last operation removed
Example 4 - Implement a custom operation
private class MyCustomImageOperation implements ImageOperation {
private Object myArgs;
public MyCustomImageOperations(Object myArgs) {
this.myArgs = myArgs;
}
@Override
public BufferedImage apply(BufferedImage image) {
//process code here
return image;
}
}
ImageProcessingOperations operations =
new ImageProcessingOperations(new MyCustomImageOperation(myArgs));
View Javadoc on process package