sclass Stripes implements MakesBufferedImage { int w, h; double angle; // radians new L colors; new DoubleList positionsInDirection; new pixelPositions; public BufferedImage getBufferedImage() { var img = newBufferedImage(w, h, first(colors)); var g = graphics(img); for (double pos : positionsInDirection) { drawPolygon(g, ...) } ret img; } }