Ampliando uma imagem através da replicação de pixels

Veja nesta dica como aumentar o tamanho de uma imagem utilizando java.awt.image

Ampliando uma imagem através da replicação de pixels

O método Java apresentado abaixo, recebe como parâmetro um objeto BufferedImage object e retorna essa imagem ampliada n vezes.

Para ampliar uma imagem através de um inteiro (n), nós tornamos um pixel de entrada em um bloco n x n deste mesmo pixel na imagem de saída.

<B><SPAN lang=EN-US >public static </SPAN></B><SPAN lang=EN-US >BufferedImage enlarge(BufferedImage image, </SPAN><B><SPAN lang=EN-US >int </SPAN></B><SPAN lang=EN-US >n) {</SPAN>

<B><SPAN >int </SPAN></B><SPAN >w = n * image.getWidth();</SPAN>
<B><SPAN >int </SPAN></B><SPAN >h = n * image.getHeight();</SPAN>

<SPAN >BufferedImage enlargedImage =</SPAN>
<B><SPAN >new </SPAN></B><SPAN >BufferedImage(w, h, image.getType());</SPAN>

<B><SPAN >for </SPAN></B><SPAN >(</SPAN><B><SPAN >int </SPAN></B><SPAN >y=</SPAN><SPAN >0</SPAN><SPAN >; y < h; ++y)</SPAN>
<B><SPAN >for </SPAN></B><SPAN >(</SPAN><B><SPAN >int </SPAN></B><SPAN >x=</SPAN><SPAN >0</SPAN><SPAN >; x < w; ++x)</SPAN>
<SPAN >enlargedImage.setRGB(x, y, image.getRGB(x/n, y/n));</SPAN>

<B><SPAN >return </SPAN></B><SPAN >enlargedImage;</SPAN>
<SPAN >}</SPAN>

Artigos relacionados