Olá. Estou fazendo um trabalho para a faculdade onde preciso criar um programa de criação e edição de imagens parecido com o Paint. Os pré-requisitos são: desenhar com o Mouse, desenhar com o teclado (onde digitando números de 0-7, imprime na tela uma reta em uma determinada direção, dependendo do número digitado), e girar a imagem depois de pronta.
Quanto a desenhar com o mouse e desenhar com o teclado, eu consegui desenrolar e criei um programa utilizando o método paint(Graphics g), da biblioteca Graphics para o teclado, e criei uma classe para desenhar com o Mouse. Até aí sem problemas. A grande dúvida é com relação a edição dessas imagens. Alguém conhece algum jeito de girar a imagem resultante? eu encontrei alguns métodos, mas nenhum que seja compatível com a função paint() (A maioria só serve para imagens do tipo Image ou BufferedImage).
Quero saber como resolver isso. É possível editar a imagem direto com a função paint() ? Se não, é possível acessar a o desenho pelo código (Já que paint() é uma função do tipo void que não retorna nada) e converte-la para Image ou BufferedImage? Ou vocês acham que existe uma outra forma de desenvolver esse programa?
Grato desde já.

