seguinte… eu tenho uma imagem (java.awt.Image), e nela eu preciso de um metodo q faça seguinte:
Permita q o usuario faça uma seleção de um pedaço da imagem(igual aquela seleção do paintbrush), e me retorne esse pedaço de imagem selecionado em um objeto (pode ser BufferedImage, sei la qqer coisa)…
[quote=fabiocsi]hmmm… vlw pacheco e godoy, show de bola…
mas e qto a SELECAO da imagem?
como faco pra deixar uma livre selecao pro usuario?
ai sim depois q ele fizer a selecao, recorto a area selecionada…[/quote]
Dá uma olhada na interface MouseMotionListener, ela tem o método mouseDrag, a partir do acionamento desse metodo você pode criar um retangulo…eu lembro que alem disso, tive que usar um metodo para pintar apenas as bordas do retangulo (sem ser um retangulo cheio) que eu lembre era um metodo de graphics chamado setXORMode (nao sei se existe ainda)
cara, olhei la a Interface MouseMotionListener… mas to com dificuldade pra como desenhar esse retangulo…
vc teria algum mini-exemplo de como desenhar um retangulo em uma imagem, usando MouseListener?
nao vo precisar colorir borda nao, so vo precisar das coordenadas geradas por esse drag mesmo…[/quote]
Hum, interessante, vai ficar mais facil entao.
Recomendo alguns passos:
Implemente o metodo mouseClick da interface MouseListener e crie dentro dele um Rectangle (java.awt.Rectangle, acho)
Rectangle -> (x,y,width,height) concorda? coloque as coordenadas iniciais do cursor em (x,y);
Implemente o método mouseDrag e coloque as informações novas do cursor em width, height. Com isso vc já tem uma região formada por um objeto Rectangle.
Tem um metodo em MouseListener referente à ação quando vc solta o botao do mouse, acho que é mouseReleased. Nela você pega o ultimo estado do seu retangulo proveniente das ações acima, e aplica o filtro que você quiser.
Sera que consigo fazer o mesmo, mas utilizando um Retangula estatico, direto na JMF… dai a webcam fica mostrando a imagem, quando o usuario tira foto, ele ja recorta para o tamanho do retangula… sera que rola?
Sei que o post é antigo, mas alguém teria uma ideia de como marcar um retângulo em uma imagem e depois fazer o recorte conforme as coordenadas deste retângulo?