Hem E-böcker Specialeffekter och spelutveckling i Java Appleten BlueComponent

Specialeffekter och spelutveckling i Java(TM) - Appleten BlueComponent

import java.applet.*;
import java.awt.*;
import java.awt.image.*;

public class bluecomponent extends Applet {

//"blueimage" kommer att hålla reda på
//bilden som vi skapar.
Image blueimage=null;

public void init()
{
    //Ladda in bilden (filnamnet finns i
    //parametern "image").
    MediaTracker tracker=new MediaTracker(this);
    Image grayimage
        =getImage(getDocumentBase(),getParameter("image"));
    tracker.addImage(grayimage,0);
    try {tracker.waitForAll();}
    catch(InterruptedException e){}

    //Skapa en Dimension-objekt som
    //har samma dimensioner som
    //den inladdade bilden.
    Dimension d
        =new Dimension(grayimage.getWidth(this),grayimage.getHeight(this));

    //Skapa en array som
    //är lika stor som bilden.
    int pixels[]=new int[d.width*d.height];
    int colorvalue;

    //Använd PixelGrabber klassen för att
    //lagra pixlarna i arrayen "pixels".
    PixelGrabber grabber
        =new PixelGrabber(grayimage,0,0,d.width,d.height,pixels,0,d.width);
    try {grabber.grabPixels();}
    catch(InterruptedException e){};

    //FOR-slingan sveper igenom
    //bilden från vänster till höger.
    for (int x=0; x < d.width; x++)
    {
        //FOR-slingan sveper
        //igenom bilden upp och ner.
        for (int y=0; y < d.height; y++)
        {
            //Genom att utföra en OCH-operation
            //med 0xff0000ff kommer bara
            //alfa-kanalen och blåkomponenten
            //att finnas kvar.
            pixels[x+y*d.width]=pixels[x+y*d.width]&0xff0000ff;
        }
    }
    //Nu gör vi en ny bild med MemoryImageSource
    //och createImage()
    MemoryImageSource imgsrc=new MemoryImageSource(d.width,d.height,pixels,0,d.width);
    blueimage=createImage(imgsrc);
}

public void paint(Graphics g)
{
    if (blueimage!=null) g.drawImage(blueimage,0,0,this);
}


}