Recortar imagem de um arquivo [RESOLVIDO]

O problema é o seguinte…

tenho vários arquivos png sem fundo cuja as dimensões são 46 de largura e 150 de altura…todos os arquivos possuem as mesmas dimensões…
Porém a imagem do arquivo mede 46 de largura por 80…(Todas também)… o restante da imagem é fundo invisível…
Essas imagens são geradas por outro sistema sempre do mesmo tamanho…

A única coisa que diferencia as imagens umas das outras além da foto em si…seria a posição da imagem sobre o fundo … por exemplo uma imagem pode estar no topo…a outra pode estar centralizada…enfim…

O que presciso saber… é se tem como eu localizar a imagem e retirar o restante não utilizável deixando só o desenho no arquivo e não aquele meio metro de fundo invisível junto…

Tipo… fazer uma função que faz a mesma coisa que o “Recortar com cuidado” do editor de imagens GIMP…

pois tenho que mostrar estas imagens numa tela…só que se eu colocar assim, algumas vão ficar na parte superior, outras na inferior…

Achei uma solução… , talvez não seja a melhor…mas funcionou…

usei o comando abaixo para capturar os pixels da imagem

  WritableRaster r = img.getRaster();

onde img seria meu BufferedImage que tem a imagem carregada

depois foi só pegar pixes a pixel procurando pelos rgb diferente de 000 (quanto não tem fundo, ou seja o fundo tranparente, o rgb da imagem para este caso vem sempre 000) , então peguei as posições de início e fim da imagem, tamanho, altura, etc… e criei uma subImagem usando o comando do BufferedImage mesmo assim

 img  = img.getSubimage(x,y, larguraImagem,alturaImagem);

Lembrando que img é meu objeto BufferedImage