Implementando Zoom in e Zoom out

Veja mais uma dica java que pode ser muito utilizada para aplicações J2ME.

Implementando Zoom in e Zoom out

 

Esta dica implementa o Zoom in e Zoom out(Image Zoomer). Ela pode ajudar desenvolvedores de jogos a acrescentar novos efeitos em seus aplicativos. Assim como pode também ser útil para aplicações J2ME, sendo feita sob encomenda para dispositivos móveis.

 

public Image ZoomIn(Image img) {

Image outImg = null;
int[] rgbOutput = null;

Graphics g = null;
int width = 0,height = 0;

try{

width = img.getWidth();
height = img.getHeight();
outImg  = Image.createImage(height,width);
int rgbInput[]=new int[width*height];
rgbOutput = new int[width*height];
img.getRGB(rgbInput,0,width,0,0,width,height);

int i,j,k,l;
k=0;
int tempArr[][]  = new int[height][width];

for(i=0;i<height;i++)
for(j=0;j<width;j++)
tempArr[i][j] = rgbInput[k++];

k=0;
for(i=0;i<height;i++) {
for(j=0;j<width;j++) {
rgbOutput[k]= tempArr[j][i];
k++;
}
}
g = outImg.getGraphics();

catch(Exception e){}

return outImg.createRGBImage(rgbOutput,height,width,true);
}

public Image zoomImage(Image img) {

image outImg = null;

int[] rgbOutput = null;
Graphics g = null;
int width = 0,height = 0;

try {

width  =  img.getWidth();
height = img.getHeight();

outImg  = Image.createImage(width<<1,height<<1);

int rgbInput[]=new int[width*height];
rgbOutput = new int[(width<<1)*(height<<1)];

img.getRGB(rgbInput,0,width,0,0,width,height);

int i,j,k;
k=0;
for(i=0;i<(height<<1);i+=2) {
for(j=0;j<(width<<1);j+=2) {
rgbOutput[i*(width<<1) + j] = rgbInput[k] ;
rgbOutput[(i+1)*(width<<1) + j]  = rgbInput[k];
rgbOutput[i*(width<<1) + j+1]  = rgbInput[k];
rgbOutput[(i+1)*(width<<1) + j+1]  = rgbInput[k];
k++;
}
}

g = outImg.getGraphics();
catch(Exception e){}

return outImg.createRGBImage(rgbOutput,width<<1,height<<1,true);
}

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados