Colocar imagem em uma pagina web

1 resposta
D

Olá pessoal, estou com uma certa dificuldade em colocar uma imagem em uma pagina html.

seguinte estou usando o jboss seam, e java.

tenho um managed Bean que tem uma imagem BufferedImage, e gostaria de coloca-lá na tela, usando qualquer componente do seam…
tipo o <s:graphicImage> ou <h:graphicImage> qualquer tag pode ser desde que apareça na tela.

detalhe esta imagem foi carregada pelo usuario via upload, e ela está em memória e não em disco. E ela não pode ir para o disco.

1 Resposta

G

Olá diego, vc pode usar servlet para isto e usar a tag padrão do html ‘img’ … abaixo segue um exemplo de criação de imagem dinâmica… o BufferedImage vai escrever sua imagem…

@Override



    protected void doGet(HttpServletRequest request,

            HttpServletResponse response) throws ServletException, IOException {

        // A imagem é um png - Poderia ser qualquer outro tipo

        response.setContentType("image/png");
 

        // Recupera o parâmetro

        String text = request.getParameter("texto");
 

        // Cria uma imagem de tamanho 500x50

        BufferedImage image = new BufferedImage(500, 50,

                BufferedImage.TYPE_INT_ARGB);

 

        // Cria o canvas pra desenho

        Graphics2D canvas = image.createGraphics();

        canvas.setColor(Color.BLUE);

        // Desenha um círculo azul

        canvas.fillOval(10, 10, 10, 10);

        canvas.setColor(Color.RED);

        canvas.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 14));

        // Desenha o texto em vermelho

        canvas.drawString(text != null ? text : "Nenhum texto informado!", 25,

                20);

        OutputStream out = null;

        try {

            out = response.getOutputStream();

            // Escreve a imagem no outputstream da response no formato png

            ImageIO.write(image, "PNG", out);

        } finally {

            if (out != null) {

                out.close();

            }
        }
    } 

}

Guilherme

Criado 25 de outubro de 2011
Ultima resposta 25 de out. de 2011
Respostas 1
Participantes 2