/* * Created on Jul 15, 2004 */ package imageprocessing; /** A controller which can read and write image files, and * otherwise process and transform images. * * @author dickey */ public interface IImageProcessor { /** Load an image from a file. * * @param fileID the name of a file containing an image. * An appropriate response is required if the file is invalid.) * @return the image, or null if the image cannot be loaded. */ IImage produceImage(String fileID); /** Write an image to a file. * * @param image an image * @param fileID the name of a file where the image is to be written. * @return true if the operation succeeds, false otherwise */ boolean writeImage(IImage image, String fileID); /** Produce an image that returns an image identical to the given iaage * but twice the size. That is, it scales the image by 2x. * The original image is not modified. * @param image a non-null image. * @return an image twice the size of the original, or null * if the operation cannot be performed. */ IImage produceTimesTwo(IImage image); }