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; }
public static void main(String[] args) { DefaultImageRender r = new DefaultImageRender(); Img.source(randomPixels(200, 70, Color.WHITE)) .text("Hello World") .color(Img.Random.darkColor()) .makeNoise() .setMaxLines(7) .setMaxLineWidth(3) .pipeline(r.optionalA) .writeTo("/tmp/1/x.png"); Img.source(randomPixels(200, 70, Color.WHITE)) .text("Hello World") .color(Img.Random.darkColor()) .makeNoise() .setMaxLines(7) .setMaxLineWidth(3) .pipeline(r.optionalB) .writeTo("/tmp/1/y.png"); } }
public static void main(String[] args) { DefaultImageRender r = new DefaultImageRender(); Img.source(randomPixels(200, 70, Color.WHITE)) .text("Hello World") .color(Img.Random.darkColor()) .makeNoise() .setMaxLines(7) .setMaxLineWidth(3) .pipeline(r.optionalA) .writeTo("/tmp/1/x.png"); Img.source(randomPixels(200, 70, Color.WHITE)) .text("Hello World") .color(Img.Random.darkColor()) .makeNoise() .setMaxLines(7) .setMaxLineWidth(3) .pipeline(r.optionalB) .writeTo("/tmp/1/y.png"); } }
public ProcessorStage copy() { return new ProcessorStage(get()).pipeline(COPIER); }
public static _Load source(BufferedImage image) { return new ProcessorStage<>(image).pipeline(); }
public _Load pipeline() { return new _Load(target()); }
public ProcessorStage copy() { return new ProcessorStage(get()).pipeline(COPIER); }
public ProcessorStage compress(float compressionQuality) { return new ProcessorStage(get()).compressionQuality(compressionQuality).pipeline(COPIER); }
public _Load pipeline() { return new _Load(target()); }
private synchronized void doJob() { preTransform(); target = null == processor ? source : processor.source(source).produce(); }
public static _Load source($.Func0<BufferedImage> imageProducer) { return new ProcessorStage<>(imageProducer).pipeline(); }
public static _Load source($.Func0<BufferedImage> imageProducer) { return new ProcessorStage<>(imageProducer).pipeline(); }
public ProcessorStage compress(float compressionQuality) { return new ProcessorStage(get()).compressionQuality(compressionQuality).pipeline(COPIER); }
public STAGE source(BufferedImage source) { this.source = requireNotNull(source); return me(); }
/** * Create a builder for this processor. * * To provide better fluent coding experience, sub class can overwrite this * function to provide specified builder instance instead of a general * `ProcessorBuilder` as provided here * * @param source the source image * @return a builder for this processor */ protected STAGE createStage(BufferedImage source) { return null == stageClass ? (STAGE) new ProcessorStage<>(source, (PROCESSOR) this) : $.newInstance(stageClass, source, this).source(source); }
public static _Load source(BufferedImage image) { return new ProcessorStage<>(image).pipeline(); }
public STAGE source(InputStream is) { this.source = read(is); return me(); }
private synchronized void doJob() { preTransform(); target = null == processor ? source : processor.source(source).produce(); }
public STAGE source(InputStream is) { this.source = read(is); return me(); }
/** * Returns the the target image as a result of processing or source image if no {@link #processor} is provided * * @return the target image */ @Override public BufferedImage get() { return target(); }