The core data type in Scrimage is the
This wraps a Java AWT image with functions that return copies of the image instead of mutating it.
We can create such an instance specifying the dimensions, or we can load an image from one of the supported formats.
Once we have an image in memory, we can perform an operation on it that returns a new image. Such as scale, resize,
brightness, autocrop and so on.
There are pixel functions available, ways to interact with different color namespaces,
dozens of filters, or composites.
If the underlying source supports it, we can interrogate the associated metadata.
Finally, we can save the image back to a file, byte array or stream.