Exibir imagem reduzida

2 respostas
marcia

Oi pessoal,

Estou com dificuldades em exibir uma imagem num JSP. Eu coloquei dessa maneira:

<IFRAME name=imagem src="exibirImagens.do?codigoInterno=<c:out value="${param.codigoInterno}"/>" style="width:150px; height:150px" width=150 height=150 frameborder=1 scrolling="a">
</IFRAME>

A imagem vem mas não aparece inteira. Se tiro o iframe, aí aparece só a imagem ocupando a tela toda.

Alguém tem idéia de como posso redimensionar a imagem, p/que ela ocupe apenas o espaço desejado?

Obrigada

Beijos

2 Respostas

_fs

Você pode colocar como src direto da tag uma url que aponta para um servlet (no seu caso action do struts) que retorne uma imagem.

<img src="geradorDeThumbNail.do?param=1"/>

GeradorDeThumbnail.java

public void service( HttpServletRequest req, HttpServletResponse resp ) {
    ImageIcon image = // pega o arquivo de imagem de algum lugar
    BufferedImage tempThumb = new BufferedImage( 150, 150, BufferedImage.TYPE_INT_ARGB );
    Graphics2D g2 = tempThumb.createGraphics();
    g2.drawImage( image.getImage(), 0, 0, tempThumb.getWidth(), tempThumb.getHeight(), null );
    g2.dispose();

    resp.setContentType( "image/png" );
    OutputStream os = resp.getOutputStream();
    ImageIO.write( tempThumb, "png", os );
    os.flush();
    os.close();
}
marcia

Oi Filipe,

Desculpe pela demora, mas as coisas estavam meio complicadas aquí, fiquei sem conexão esses dias.

Obrigada pela sua resposta, mas acabei resolvendo de uma outra forma mais simples:

<td>
                    <img src="exibirImagens.do?codigoInterno=<c:out value="${param.codigoInterno}"/>" height="150" />
                </td>

Resolveu o meu problema. Mas achei muito interessante seu código. Vou testá-lo p/ver se fica melhor.

Muito obrigada.

[]s

Criado 16 de maio de 2006
Ultima resposta 19 de mai. de 2006
Respostas 2
Participantes 2