static BufferedImage cutOutPixelSet_scale(BufferedImage image, BufferedImage bigImg, PixelSet set, int outline) { int scale = iround(bigImg.getWidth()/(double) image.getWidth()); Rect r = pixelSetBounds(set); int bw = bigImg.getWidth(), bh = bigImg.getHeight(); BufferedImage img = transparentBufferedImage(r.w*scale+outline*2, r.h*scale+outline*2); for (Pixel p : set) { int x1 = (p.x-r.x)*scale+outline, y1 = (p.y-r.y)*scale+outline; int xb = p.x*scale, yb = p.y*scale; for (int y = 0; y < scale; y++) for (int x = 0; x < scale; x++) if (xb+x >= 0 && xb+x < bw && yb+y >= 0 && yb+y < bh) img.setRGB(x1+x, y1+y, bigImg.getRGB(xb+x, yb+y)); } ret img; }