//Example09 import java.awt.*; import java.awt.event.*; import java.awt.image.*; public class Example09 extends Frame{ Image img01; //Main public static void main(String ar[]){ Frame f=new Example09(); f.setTitle("Round images"); f.setSize(new Dimension(640,400)); f.setVisible(true); } //Parts set Example09(){ img01=getToolkit().getImage("ICO_020.gif"); addWindowListener(new WinAdapter()); } //Close class WinAdapter extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } //Paint public void update(Graphics g){ paint(g); } public void paint(Graphics g){ int w,h; Image img; PixelGrabber pg=new PixelGrabber(img01,0,0,-1,-1,true); try{ if(pg.grabPixels()){ w=pg.getWidth(); int[] op=(int[]) pg.getPixels(); int[] np=(int[]) new int[w*w]; g.drawImage(img01,0,100,this); for(int y=0;y<w;y++){ for(int x=0;x<w;x++) np[(w-1-y)+x*w]=op[x+y*w]; } img=createImage(new MemoryImageSource(w,w,np,0,w)); g.drawImage(img,50,100,this); for(int y=0;y<w;y++){ for(int x=0;x<w;x++) np[(w-1-x)+(w-1-y)*w]=op[x+y*w]; } img=createImage(new MemoryImageSource(w,w,np,0,w)); g.drawImage(img,100,100,this); for(int y=0;y<w;y++){ for(int x=0;x<w;x++) np[y+(w-1-x)*w]=op[x+y*w]; } img=createImage(new MemoryImageSource(w,w,np,0,w)); g.drawImage(img,150,100,this); } }catch(InterruptedException ie){} } }