[java-list] gravar JPG
Olá, Pessoal! Tenho uma classe que extende JPanel e cria um objeto gráfico com linhas e imagens. Como faço para gravar este ojeto gráfico em disco no formato .JPG? Obrigado à quem puder me ajudar. Márcio. -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen! -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] gravar JPG
Oi Marcio, no meu caso, precisei criar uma imagem p/ usar em servlets e grava-la no formato JPEG em um diretorio temporario. Segue o trecho do codigo que usei: import com.sun.image.codec.jpeg.JPEGImageEncoder; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; /** * criarBufferedImage: Cria e retorna uma BufferedImage onde o chart ser desenhado * / protected BufferedImage criarBufferedImage(int width, int height) { BufferedImage image = new BufferedImage(width , height, BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); this.desenha(g,(width/2), (height/2)); g.dispose(); return image; } /** * salvaChartComoJPEG: Salva o chart como um arquivo no formato JPEG no diretrio * temporario * / protected String salvaChartComoJPEG(BufferedImage chartImage, String strPFileName) throws IOException { this.criarDiretorioTemporario(); File tempFile = File.createTempFile(strPFileName, ".jpeg"); OutputStream out = new BufferedOutputStream(new FileOutputStream(tempFile)); //codifica a imagem p/ JPEG JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(chartImage); param.setQuality(0.75f, true); encoder.encode(chartImage, param); out.close(); return tempFile.getName(); } /** * criarDiretorioTemporario: Cria diretorio temporario no sistema * / protected void criarDiretorioTemporario() { String tempDirName = System.getProperty("java.io.tmpdir"); if (tempDirName == null) { throw new RuntimeException( "O diretrio temporrio do sistema (java.io.tmpdir) nulo"); } // Cria um diretrio temporrio se este no existe File tempDir = new File(tempDirName); if (!tempDir.exists()) { tempDir.mkdirs(); } } On Mon, 25 Nov 2002 [EMAIL PROTECTED] wrote: > Olá, Pessoal! > > > Tenho uma classe que extende JPanel e cria um objeto gráfico com linhas e > imagens. Como faço para gravar este ojeto gráfico em disco no formato .JPG? > > > Obrigado à quem puder me ajudar. > > Márcio. > Espero ter ajudado, abraco Kristiany. Kristiany Kukert Zamai Grupo STELA - EPS UFSC - www.stela.ufsc.br [EMAIL PROTECTED] ICQ: 51469971 -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Re:[java-list] gravar JPG
Márcio, vou utilizar a sua pergunta para fazer outra... estou querendo gerar um arquivo JPEG a partir de um JPanel. Eu Fiz o seguinte código: / BufferedImage image=new BufferedImage(JPanel.getWidth(), JPanel.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); JPanel.paint(g); FileOutputStream fos = new FileOutputStream ("teste.jpeg"); JPEGImageEncoder enc = new JPEGImageEncoderImpl(fos); enc.encode(image); / este código está gerando um arquivo JPEG. O problema é que o JPanel é composto de vários outros JPanel adicionados e o método paint não está pintando este que foram adicionados ao original... Alguém conhece uma outra maneira de fazer isso !!! > Olá, Pessoal! > > > Tenho uma classe que extende JPanel e cria um objeto gr áfico com linhas e > imagens. Como faço para gravar este ojeto gráfico em di sco no formato .JPG? > > > Obrigado à quem puder me ajudar. > > Márcio. > > -- > +++ GMX - Mail, Messaging & more http://www.gmx.net +++ > NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Mi n. surfen! > > > -- LISTA SOUJAVA -- -- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list% 40soujava.org.br > para sair da lista: envie email para java-list- [EMAIL PROTECTED] > --- -- > > __ Venha para a VilaBOL! O melhor lugar para você construir seu site. Fácil e grátis! http://vila.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Re: Re:[java-list] gravar JPG
Rogerio! Talvez seja uma grande furada..., porém, já tentaste dar um pack(); antes de gerar o .jpg? até Márcio, --- vou utilizar a sua pergunta para fazer outra... estou querendo gerar um arquivo JPEG a partir de um JPanel. Eu Fiz o seguinte código: / BufferedImage image=new BufferedImage(JPanel.getWidth(), JPanel.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); JPanel.paint(g); FileOutputStream fos = new FileOutputStream ("teste.jpeg"); JPEGImageEncoder enc = new JPEGImageEncoderImpl(fos); enc.encode(image); / este código está gerando um arquivo JPEG. O problema é que o JPanel é composto de vários outros JPanel adicionados e o método paint não está pintando este que foram adicionados ao original... Alguém conhece uma outra maneira de fazer isso !!! > Olá, Pessoal! > > > Tenho uma classe que extende JPanel e cria um objeto gr áfico com linhas e > imagens. Como faço para gravar este ojeto gráfico em di sco no formato .JPG? > > > Obrigado à quem puder me ajudar. > > Márcio. > > -- > +++ GMX - Mail, Messaging & more http://www.gmx.net +++ > NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Mi n. surfen! > > > -- LISTA SOUJAVA -- -- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list% 40soujava.org.br > para sair da lista: envie email para java-list- [EMAIL PROTECTED] > --- -- > > -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen! -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -