public static Sampleable sampleable(Renderable base) { BoundingBox bb = base.getBoundingBox(); OverlayRaster or = new OverlayRaster(bb.intRight() + 1, bb.intBottom() + 1); base.render(or); return new AbstractSampleable(bb) { @Override public Color getColorAt(Point<Double> point) { return or.getColor(point.toIntegerPoint()); } }; }