Imagens em Java

Olá pessoal, tudo bom? É meu primeiro post aqui no GUJ e meu problema é o seguinte:

Tenho uma imagem de tamanho NxN, daí preciso recortar pedaços desta imagem e criar uma imagem separada de cada pedaço. Depois de feito isso eu preciso criar outra imagem diminuia a partir da imagem recortada.
Tipo, a imagem que carrego do arquivo é as peças de xadrez do meu programa, daí preciso carregar essa imagem, recortar as peças criando uma imagem para cada peça e diminuir a peça (de acordo com o tamanho do tabuleiro escolhido), depois por essa imagem em um JLabel.

Alguém pode me dizer que funções devo usar para cada ação, ou então me indicar um site que explique isso?

Enquanto isso vou procurando aqui, até mais!

No JGF (Um framework que o ViniGodoy aqui do fórum fez) tem uma classe chamada ImageWorker, que recorta uma imagem em varias, ela aceita um BufferedImage e te retornar um BufferedImage[].
Da uma procurada no fórum que você acha.

Oi!

Uma ótima referência sobre imagens é esse livro aqui:
Killer Game Programming in Java

Disponível no site do autor. Se você baixar o Vikanoid vai ver que por lá tem uma classe chamada ImageWorker, que faz boa parte desse “trabalho sujo”. Por exemplo, há um método para recortar uma imagem em “quadradinhos” igual tamanho, cada um sendo uma imagem diferente.

O grande segredo está no método drawImage cuja assinatura recebe coordenadas das duas imagens. Basicamente, você cria um nova BufferedImage com as dimensões que você quer, e que seja as mesmas cararísticas da imagem original. Depois, usa o drawImage para desenhar uma porção da imagem original na sua nova imagem. Detalhe, se o destino tiver um tamanho diferente do da imagem original, o desenho será redimensionado. Isso permite que você recorte e já reduza a imagem em uma operação só.

Aqui eu postei um forma de recortar a imagem:

http://guj.com.br/posts/list/80325.java#426778