Modificar uma imagem

21 respostas
D

Olá amigos, tudo bem?

Galera minha dúvida é a seguinte, eu gostaria de pegar uma imagem e modifica-la, como, bom vou explica-los:

Eu tenho uma matriz, que contém nela informações do tipo x e y (altura e largura) de onde eu gostaria de modificar a imagem.

vetorPosicao[][];

Tendo esses pontos, x e y, eu gostaria de fazer um circulo de qualquer cor, não sendo preto e branco, por volta desta coordenada. Modificando assim a imagem.

Como eu poderia fazer isto?

Alguém por favor poderia me dar um help com isto?

Obrigado

^^

21 Respostas

ViniGodoy

http://java.sun.com/docs/books/tutorial/2d/TOC.html

D

poderia me dar um exemplo mais prático?

obrigado!

D

poderia dar um exemplo mais prático, sem ser em inglês?

hehe

D

Poderia me dar um exemplo mais prático[url]?

obrigado

D

Olá poderia me dar um exemplo mais prático?

obrigado!

D

Olá poderia me dar um exemplo mais prático?

Obrigado!

D

poderia me dar um exemplo mais prático por favor?

D

poderia me dar um exemplo mais prático?

obrigado

D

poderia me dar um exemplo mais prático?

D

poderia me mandar um exemplo mais pratico por favor?

D

gostaria de um exemplo mais prático, alguém pode ajudar![url]?

obrgaido!

E

http://java.sun.com/javase/6/docs/api/java/awt/geom/Ellipse2D.html

E
ViniGodoy

Não precisava pedir tantas vezes, e nem mandar MP.
Eu recebo um e-mail quando tem novidades no tópico, assim como você. Mas nem sempre posso voltar aqui e responder na hora.

1. Primeiro você carrega uma Imagem do disco.
2. Depois obtém o objeto graphics dela;
3. Depois constroi o objeto que irá desenha, como a elipse;
4. Depois usa o método draw() ou fill() para desenhar.
5. Depois grava novamente no disco.

BufferedImage img = ImageIO.read("umaImagem.jpg");
Graphics2D g2d = img.createGraphics();

//Circulo de altura e largura 10, no ponto 12,12
Ellipse2D circulo = Elipse2D.float(12,12, 10, 10);
g2d.setColor(Color.RED);
g2d.fill(circulo);
g2d.dispose();

ImageIO.write(img, "jpg", new File("image2.jpg"));
D

olá, alguém por favor poderia me dar um exemplo mais pratico?

obrigado!

D

alguém poderia me dar um exemplo mais prático de como fazer isto?

obrigado!

ViniGodoy

Peraí, mais prático do que o código que coloquei ali atrás???

D

Olá desculpa msm pelas vezes que se repetiram as msgs, é que eu mandava e a pagina naum se atualizava com a minha pergunta. Tive que repetir varias vezes. Mas msm assim obrigado!!!

D
ViniGodoy:
Não precisava pedir tantas vezes, e nem mandar MP. Eu recebo um e-mail quando tem novidades no tópico, assim como você. Mas nem sempre posso voltar aqui e responder na hora.

1. Primeiro você carrega uma Imagem do disco.
2. Depois obtém o objeto graphics dela;
3. Depois constroi o objeto que irá desenha, como a elipse;
4. Depois usa o método draw() ou fill() para desenhar.
5. Depois grava novamente no disco.

BufferedImage img = ImageIO.read("umaImagem.jpg");
Graphics2D g2d = img.createGraphics();

//Circulo de altura e largura 10, no ponto 12,12
Ellipse2D circulo = Elipse2D.float(12,12, 10, 10);
g2d.setColor(Color.RED);
g2d.fill(circulo);
g2d.dispose();

ImageIO.write(img, "jpg", new File("image2.jpg"));

Desculpe lhe encomodar, mas queria te perguntar uma coisa. Qndo eu ploto esta ellipse, ela plota como uma bola mesmo, queria que fosse um circulo, vazado. Somente em volta do ponto que eu estiver selecionando. O que que eu deveria mudar?

abraços!

ViniGodoy

Troque o fill por draw.

Para colocar em volta do seu ponto, pegue metade da altura e largura do quadrado que define o circulo, e subtraia das coordenadas do ponto. Use isso como coordenada inicial do circulo.

E

E a propósito, ajuda se você olhar alguma documentação sobre Java2D (que é o que está sendo usado aqui).

Você vai ficar perguntando muito e aí o Vinicius acaba ficando sem paciência, ele que tem uma paciência quase inesgotável.)

Pelo menos se você olhasse:

a) O tutorial da Sun (comece em http://java.sun.com/docs/books/tutorial/2d/index.html )

b) A documentação da Sun das classes (comece em http://java.sun.com/javase/6/docs/api/index.html )

Se tiver problemas com seu inglês, tente o tradutor on-line do Google:

http://www.google.com.br/language_tools?hl=pt-BR

Criado 7 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 21
Participantes 3