public void writeTo(OutputStream os, String mimeType) { ImageWriter writer = ImageIO.getImageWritersByMIMEType(mimeType(mimeType)).next(); dropAlphaChannelIfJPEG(writer); ImageWriteParam params = writer.getDefaultWriteParam(); if (!Float.isNaN(compressionQuality) && params.canWriteCompressed()) { params.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); params.setCompressionType(params.getCompressionTypes()[0]); params.setCompressionQuality(compressionQuality); } ImageOutputStream ios = os(os); writer.setOutput(ios); IIOImage image = new IIOImage(get(), null, null); try { writer.write(null, image, params); } catch (IOException e) { throw ioException(e); } IO.flush(ios); writer.dispose(); }
public void writeTo(String fileName) { writeTo(new File(fileName)); }
public ProcessorStage pipeline(List<? extends Processor> processors) { org.osgl.util.E.illegalArgumentIf(processors.isEmpty()); int sz = processors.size(); Processor first = processors.get(0); ProcessorStage stage = pipeline(first); for (int i = 1; i < sz; ++i) { stage = stage.pipeline(processors.get(i)); } return stage; }
@Override public void apply(H.Request req, H.Response resp) { try { applyCookies(resp); applyHeaders(resp); resp.contentType(contentType); if (!resp.containsHeader(CONTENT_DISPOSITION)) { resp.contentDisposition(null, true); } applyStatus(resp); applyBeforeCommitHandler(req, resp); Img.source(img).writeTo(resp.outputStream(), contentType); } catch (Exception e) { throw E.unexpected(e); } finally { try { resp.commit(); applyAfterCommitHandler(req, resp); } finally { clearThreadLocals(); } } }
@Override public void apply(H.Request req, H.Response resp) { try { applyCookies(resp); applyHeaders(resp); resp.contentType(contentType); if (!resp.containsHeader(CONTENT_DISPOSITION)) { resp.contentDisposition(null, true); } applyStatus(resp); applyBeforeCommitHandler(req, resp); Img.source(img).writeTo(resp.outputStream(), contentType); } catch (Exception e) { throw E.unexpected(e); } finally { try { resp.commit(); applyAfterCommitHandler(req, resp); } finally { clearThreadLocals(); } } }
public void writeTo(OutputStream os, String mimeType) { ImageWriter writer = ImageIO.getImageWritersByMIMEType(mimeType(mimeType)).next(); dropAlphaChannelIfJPEG(writer); ImageWriteParam params = writer.getDefaultWriteParam(); if (!Float.isNaN(compressionQuality) && params.canWriteCompressed()) { params.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); params.setCompressionType(params.getCompressionTypes()[0]); params.setCompressionQuality(compressionQuality); } ImageOutputStream ios = os(os); writer.setOutput(ios); IIOImage image = new IIOImage(get(), null, null); try { writer.write(null, image, params); } catch (IOException e) { throw ioException(e); } IO.flush(ios); writer.dispose(); }
public Concatenater.Stage appendWith($.Func0<BufferedImage> secondImange) { return new Concatenater.Stage(get()).with(secondImange); }
public NoiseMaker.Stage makeNoise() { return new NoiseMaker.Stage(get()); }
public Blur.Stage blur(int level) { return new Blur.Stage(get()).level(level); }
public Cropper.Stage crop(int x1, int y1, int x2, int y2) { return new Cropper.Stage(get()).from(x1, y1).to(x2, y2); }
public Cropper.Stage crop() { return new Cropper.Stage(get()); }
public <B extends ProcessorStage<B, P>, P extends Processor<P, B>> B pipeline(Class<? extends P> processorClass) { return $.newInstance(processorClass).createStage(get()); }
public static Cropper.Stage crop($.Func0<BufferedImage> imageProvider) { return source(imageProvider).crop(); }
public Cropper.Stage crop($.Tuple<Integer, Integer> leftTop, $.Tuple<Integer, Integer> rightBottom) { return crop(leftTop._1, leftTop._2, rightBottom._1, rightBottom._2); }
public Flip.Stage flipVertial() { return flip(Direction.VERTICAL); }
public ProcessorStage copy() { return new ProcessorStage(get()).pipeline(COPIER); }
public Blur.Stage blur() { return new Blur.Stage(get()); }
public static _Load source(InputStream is) { return new _Load(is); }
public Concatenater.Stage appendWith(BufferedImage secondImange) { return new Concatenater.Stage(get()).with(F.source(secondImange)); }
public Resizer.Stage resize(int w, int h) { return new Resizer.Stage(get()).dimension(w, h); }