Код: Выделить всё
package example;
import static java.awt.RenderingHints.KEY_ANTIALIASING;
import static java.awt.RenderingHints.KEY_COLOR_RENDERING;
import static java.awt.RenderingHints.KEY_DITHERING;
import static java.awt.RenderingHints.KEY_RENDERING;
import static java.awt.RenderingHints.VALUE_ANTIALIAS_ON;
import static java.awt.RenderingHints.VALUE_COLOR_RENDER_QUALITY;
import static java.awt.RenderingHints.VALUE_DITHER_ENABLE;
import static java.awt.RenderingHints.VALUE_RENDER_QUALITY;
import static java.awt.image.BufferedImage.TYPE_INT_RGB;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class UnwantedColorBanding {
private static final int WIDTH = 965;
private static final int HEIGHT = 482;
private static final File OUTPUT_FILE = new File("gradient.png");
public static void main(String[] args) throws IOException {
var image = new BufferedImage(WIDTH, HEIGHT, TYPE_INT_RGB);
var g = image.createGraphics();
g.setPaint(new GradientPaint(0, 0, Color.BLACK, WIDTH, HEIGHT, Color.WHITE));
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setRenderingHint(KEY_RENDERING, VALUE_RENDER_QUALITY);
g.setRenderingHint(KEY_COLOR_RENDERING, VALUE_COLOR_RENDER_QUALITY);
g.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON);
g.setRenderingHint(KEY_DITHERING, VALUE_DITHER_ENABLE);
ImageIO.write(image, "PNG", OUTPUT_FILE);
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... -gradients