Witam,
Napisałem taki oto kod, który obraca obrazek:

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.*;
import java.lang.Math;
import javax.imageio.*;

public class Temat6{

    public Temat6() {

    }

    public static void main(String[] args) {
        try {
            DataInput datainput = new DataInputStream(System.in);
            BufferedImage bimg;
            //odczyt z pliku
            System.out.println("Podaj źródło obrazu: ");
            bimg = ImageIO.read(new File(datainput.readLine()));
            System.out.println("Podaj gdzie zapisać obraz po obróceniu: ");
            File saveas = new File(datainput.readLine());
            System.out.println("Kąt o który obrócić[stopnie]: ");
            //konwersja stringa do inta
            int degress = Integer.parseInt(datainput.readLine());
            int w = bimg.getWidth();
            int h = bimg.getHeight();

            //przeliczanie stopni na radiany, zebezpieczenie przed ujemnymi wartościami i zwielokrotnionym 2pi
            degress = degress % 360;
            degress = degress + 360;
            degress = degress % 360;
            double radians = Math.toRadians(degress);    

            //obrot
            AffineTransform at = new AffineTransform();
            at.rotate(radians, w / 2, h / 2); 

            //zeby zapobiec obcieciu rogów
            double x, y;
            if (degress <= 90 ) {
                x = -at.transform(new Point2D.Double(0, h), null).getX();
                y = -at.transform(new Point2D.Double(0, 0), null).getY();
            }
            else if (degress <= 180 ) {
                x = -at.transform(new Point2D.Double(w, h), null).getX();
                y = -at.transform(new Point2D.Double(0, h), null).getY();
            }
            else if (degress <= 270 ) {
                x = -at.transform(new Point2D.Double(w, 0), null).getX();
                y = -at.transform(new Point2D.Double(w, h), null).getY();
            }
            else {
                x = -at.transform(new Point2D.Double(0, 0), null).getX();
                y = -at.transform(new Point2D.Double(w, 0), null).getY();
            }

            AffineTransform at2 = new AffineTransform();
            at2.translate(x, y);
            at.preConcatenate(at2);
            //zastosowanie i zapisanie

            BufferedImageOp bio = new AffineTransformOp(at, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);

            bimg = bio.filter(bimg, null);

            //zapisanie do pliku w tym samym formacie
            String extension = saveas.getName().substring(saveas.getName().indexOf('.') + 1);
            ImageIO.write(bimg, extension, saveas);
            System.out.println("Obrót wykonany pomyślnie.");
            System.out.print("Wyjście z programu.");

        } catch (IOException except) {
            System.out.println("Wystąpił błąd. Następuje zakończenie programu.");
        }
    }
}

Jak sprawić, żeby kolor tych rogów powstałych po obróceniu był inny niż czarny(domyślny)?

Pozdrawiam