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.
<B><SPAN >public </SPAN></B><SPAN >Image ZoomIn(Image img) {</SPAN><SPAN >Image outImg = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><B><SPAN >int</SPAN></B><SPAN >[] rgbOutput = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><SPAN >Graphics g = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><B><SPAN >int </SPAN></B><SPAN >width = </SPAN><SPAN >0</SPAN><SPAN >,height = </SPAN><SPAN >0</SPAN><SPAN >;</SPAN><B><SPAN >try</SPAN></B><SPAN >{</SPAN><SPAN >width = img.getWidth();</SPAN><SPAN >height = img.getHeight();</SPAN><SPAN >outImg = Image.createImage(height,width);</SPAN><B><SPAN >int </SPAN></B><SPAN >rgbInput[]=</SPAN><B><SPAN >new int</SPAN></B><SPAN >[width*height];</SPAN><SPAN >rgbOutput = </SPAN><B><SPAN >new int</SPAN></B><SPAN >[width*height];</SPAN><SPAN >img.getRGB(rgbInput,</SPAN><SPAN >0</SPAN><SPAN >,width,</SPAN><SPAN >0</SPAN><SPAN >,</SPAN><SPAN >0</SPAN><SPAN >,width,height);</SPAN><B><SPAN >int </SPAN></B><SPAN >i,j,k,l;</SPAN><SPAN >k=</SPAN><SPAN >0</SPAN><SPAN >;</SPAN><B><SPAN >int </SPAN></B><SPAN >tempArr[][] = </SPAN><B><SPAN >new int</SPAN></B><SPAN >[height][width];</SPAN><B><SPAN >for</SPAN></B><SPAN >(i=</SPAN><SPAN >0</SPAN><SPAN >;i<height;i++)</SPAN><B><SPAN >for</SPAN></B><SPAN >(j=</SPAN><SPAN >0</SPAN><SPAN >;j<width;j++)</SPAN><SPAN >tempArr[i][j] = rgbInput[k++];</SPAN><SPAN >k=</SPAN><SPAN >0</SPAN><SPAN >;</SPAN><B><SPAN >for</SPAN></B><SPAN >(i=</SPAN><SPAN >0</SPAN><SPAN >;i<height;i++) {</SPAN><B><SPAN >for</SPAN></B><SPAN >(j=</SPAN><SPAN >0</SPAN><SPAN >;j<width;j++) {</SPAN><SPAN >rgbOutput[k]= tempArr[j][i];</SPAN><SPAN >k++;</SPAN><SPAN >}</SPAN><SPAN >}</SPAN><SPAN >g = outImg.getGraphics();</SPAN><SPAN >} </SPAN><B><SPAN >catch</SPAN></B><SPAN >(Exception e){}</SPAN><B><SPAN >return </SPAN></B><SPAN >outImg.createRGBImage(rgbOutput,height,width,true);</SPAN><SPAN >}</SPAN><B><SPAN >public </SPAN></B><SPAN >Image zoomImage(Image img) {</SPAN><SPAN >image outImg = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><B><SPAN >int</SPAN></B><SPAN >[] rgbOutput = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><SPAN >Graphics g = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN><B><SPAN >int </SPAN></B><SPAN >width = </SPAN><SPAN >0</SPAN><SPAN >,height = </SPAN><SPAN >0</SPAN><SPAN >;</SPAN><B><SPAN >try </SPAN></B><SPAN >{</SPAN><SPAN >width = img.getWidth();</SPAN><SPAN >height = img.getHeight();</SPAN><SPAN >outImg = Image.createImage(width<<</SPAN><SPAN >1</SPAN><SPAN >,height<<</SPAN><SPAN >1</SPAN><SPAN >);</SPAN><B><SPAN >int </SPAN></B><SPAN >rgbInput[]=</SPAN><B><SPAN >new int</SPAN></B><SPAN >[width*height];</SPAN><SPAN >rgbOutput = </SPAN><B><SPAN >new int</SPAN></B><SPAN >[(width<<</SPAN><SPAN >1</SPAN><SPAN >)*(height<<</SPAN><SPAN >1</SPAN><SPAN >)];</SPAN><SPAN >img.getRGB(rgbInput,</SPAN><SPAN >0</SPAN><SPAN >,width,</SPAN><SPAN >0</SPAN><SPAN >,</SPAN><SPAN >0</SPAN><SPAN >,width,height);</SPAN><B><SPAN >int </SPAN></B><SPAN >i,j,k;</SPAN><SPAN >k=</SPAN><SPAN >0</SPAN><SPAN >;</SPAN><B><SPAN >for</SPAN></B><SPAN >(i=</SPAN><SPAN >0</SPAN><SPAN >;i<(height<<</SPAN><SPAN >1</SPAN><SPAN >);i+=</SPAN><SPAN >2</SPAN><SPAN >) {</SPAN><B><SPAN >for</SPAN></B><SPAN >(j=</SPAN><SPAN >0</SPAN><SPAN >;j<(width<<</SPAN><SPAN >1</SPAN><SPAN >);j+=</SPAN><SPAN >2</SPAN><SPAN >) {</SPAN><SPAN >rgbOutput[i*(width<<</SPAN><SPAN >1</SPAN><SPAN >) + j] = rgbInput[k] ;</SPAN><SPAN >rgbOutput[(i+</SPAN><SPAN >1</SPAN><SPAN >)*(width<<</SPAN><SPAN >1</SPAN><SPAN >) + j] = rgbInput[k];</SPAN><SPAN >rgbOutput[i*(width<<</SPAN><SPAN >1</SPAN><SPAN >) + j+</SPAN><SPAN >1</SPAN><SPAN >] = rgbInput[k];</SPAN><SPAN >rgbOutput[(i+</SPAN><SPAN >1</SPAN><SPAN >)*(width<<</SPAN><SPAN >1</SPAN><SPAN >) + j+</SPAN><SPAN >1</SPAN><SPAN >] = rgbInput[k];</SPAN><SPAN >k++;</SPAN><SPAN >}</SPAN><SPAN >}</SPAN><SPAN >g = outImg.getGraphics();</SPAN><SPAN >} </SPAN><B><SPAN >catch</SPAN></B><SPAN >(Exception e){}</SPAN><B><SPAN >return </SPAN></B><SPAN >outImg.createRGBImage(rgbOutput,width<<</SPAN><SPAN >1</SPAN><SPAN >,height<<</SPAN><SPAN >1</SPAN><SPAN >,true);</SPAN><SPAN >}</SPAN>
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo