GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
recortar imagem circularmente
Índice dos Fóruns
»
Interface Gráfica
Autor
Mensagem
10/12/2011 21:46:26
Assunto:
recortar imagem circularmente
geovanni.
Debugger
Membro desde: 10/10/2010 20:10:18
Mensagens: 69
Offline
Estou tentando fazer um mapa circular para um jogo , então queria cortar uma imagem circularmente pra pintar na tela.
como poderia fazer isso!?
Nome do arquivo
exemplo.png
Download
Descrição
imagem exemplo do que quero fazer
Tamanho
408 Kbytes
Baixado:
12 vez(es)
10/12/2011 21:49:47
Assunto:
Re:recortar imagem circularmente
dreampeppers99
Virtual Machine Man
Membro desde: 29/08/2006 21:50:17
Mensagens: 523
Offline
Você quer saber como faz isso em Java2D, opengl ou só na imagem mesmo?
-
Não respondo dúvida por PM!
-
Blog -> Software development - Clojure, Ruby, Java, Test and little pumpkins
-
Blog - Desenvolvimento de software - Java
10/12/2011 22:16:24
Assunto:
Re:recortar imagem circularmente
geovanni.
Debugger
Membro desde: 10/10/2010 20:10:18
Mensagens: 69
Offline
java2d
10/12/2011 22:20:57
Assunto:
Re:recortar imagem circularmente
dreampeppers99
Virtual Machine Man
Membro desde: 29/08/2006 21:50:17
Mensagens: 523
Offline
Acho que você pode tentar dar um clip normal.
private Ellipse2D ellipse = new Ellipse2D.Float(); ellipse.setFrame(x, y, ew, eh); g2.setClip(ellipse); // ou g2.clip(ellipse)
já tentou isso?
-
Não respondo dúvida por PM!
-
Blog -> Software development - Clojure, Ruby, Java, Test and little pumpkins
-
Blog - Desenvolvimento de software - Java
10/12/2011 22:22:22
Assunto:
Re:recortar imagem circularmente
ViniGodoy
Moderador
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
Segue um exemplo, o método createClipped faz a mágica acontecer:
package br.com.guj; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFileChooser; import javax.swing.filechooser.FileNameExtensionFilter; public class Snippet { private static BufferedImage createClipped(BufferedImage input) { int t = Math.min(input.getWidth(), input.getHeight()); BufferedImage other = new BufferedImage(t, t, input.TYPE_INT_ARGB); //Obtém o contexto gráfico Graphics2D g2d = other.createGraphics(); //Define a área de pintura para um círculo g2d.setClip(new Ellipse2D.Double(0, 0, t, t)); //Desenha a imagem g2d.drawImage(input, 0, 0, null); //Libera o contexto gráfico g2d.dispose(); return other; } private static File newFile(File file, String detail) { return new File(file.getParentFile(), file.getName().substring(0, file.getName().indexOf(".")) + "-" + detail + ".png"); } public static void main(String[] args) throws IOException { JFileChooser chooser = new JFileChooser(); chooser.setDialogTitle("Escolha a imagem"); chooser.setFileFilter(new FileNameExtensionFilter("Imagens", "jpg", "png", "bmp")); if (chooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return; BufferedImage redonda = createClipped(ImageIO.read(chooser.getSelectedFile())); ImageIO.write(redonda, "png", newFile(chooser.getSelectedFile(), "redonda")); } }
Nome do arquivo
fish.jpg
Download
Descrição
Imagem original
Tamanho
25 Kbytes
Baixado:
9 vez(es)
Nome do arquivo
fish-redonda.png
Download
Descrição
Resultado após o clipping
Tamanho
161 Kbytes
Baixado:
9 vez(es)
This message was edited 1 time. Last update was at 10/12/2011 22:23:09
@ViniGodoy
-
Lattes
Tem dúvidas de Java? Poste no fórum!
Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional
-
@Pontov
-
Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso!
Veja:
http://www.guj.com.br/posts/list/15/199067.java#1001295
11/12/2011 08:03:27
Assunto:
Re:recortar imagem circularmente
geovanni.
Debugger
Membro desde: 10/10/2010 20:10:18
Mensagens: 69
Offline
funcionou!
valeu!
Índice dos Fóruns
»
Interface Gráfica
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team