001 package org.mycore.services.imaging.JAI;
002
003 import java.io.IOException;
004 import java.io.InputStream;
005 import java.io.OutputStream;
006
007 import javax.media.jai.PlanarImage;
008
009 import org.apache.log4j.Logger;
010 import org.mycore.services.imaging.JAI.imgOperation.MCRJAIImageOp;
011 import org.mycore.services.imaging.JAI.imgOperation.MCRJAIOperationList;
012
013 public class MCRJAIManipBean {
014 private static Logger LOGGER = Logger.getLogger(MCRJAIManipBean.class);
015 private MCRJAIEncoder encoder;
016 private MCRJAIImageReader reader;
017
018 protected MCRJAIOperationList imgManipList = new MCRJAIOperationList();
019
020 public MCRJAIManipBean() {
021 this.reader = new MCRJAIImgMemReader();
022 this.encoder = new MCRJAIJPEGEnc();
023 }
024
025 public MCRJAIManipBean(MCRJAIImageReader reader, MCRJAIEncoder encoder) {
026 this.reader = reader;
027 this.encoder = encoder;
028 }
029
030 public void addManipOp(MCRJAIImageOp imgOp){
031 imgManipList.addOp(imgOp);
032 }
033
034 public void manipAndPost(InputStream imgStream, OutputStream out) throws IOException{
035 PlanarImage image = reader.readImage(imgStream);
036 PlanarImage outImage = imgManipList.executeOp(image);
037 encoder.encode(outImage, out);
038 }
039 }