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.
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
doug_sciani
olá, alguém por favor poderia me dar um exemplo mais pratico?
obrigado!
D
doug_sciani
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
doug_sciani
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
doug_sciani
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
entanglement
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.)