Package org.newdawn.slick.tests

Source Code of org.newdawn.slick.tests.ImageReadTest

package org.newdawn.slick.tests;

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Color;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;

/**
* A test for reading image data from a teture
*
* @author kevin
*/
public class ImageReadTest extends BasicGame {
  /** The image loaded to be read */
  private Image image;
  /** The four pixels read */
  private Color[] read = new Color[6];
  /** The main graphics context */
  private Graphics g;
 
  /**
   * Create a new image reading test
   */
  public ImageReadTest() {
    super("Image Read Test");
  }
 
  /**
   * @see org.newdawn.slick.BasicGame#init(org.newdawn.slick.GameContainer)
   */
  public void init(GameContainer container) throws SlickException {
    image = new Image("testdata/testcard.png");
    read[0] = image.getColor(0, 0);
    read[1] = image.getColor(30, 40);
    read[2] = image.getColor(55, 70);
    read[3] = image.getColor(80, 90);
  }

  /**
   * @see org.newdawn.slick.BasicGame#render(org.newdawn.slick.GameContainer, org.newdawn.slick.Graphics)
   */
  public void render(GameContainer container, Graphics g) {
    this.g = g;
   
    image.draw(100,100);
    g.setColor(Color.white);
    g.drawString("Move mouse over test image", 200, 20);
    g.setColor(read[0]);
    g.drawString(read[0].toString(), 100,300);
    g.setColor(read[1]);
    g.drawString(read[1].toString(), 150,320);
    g.setColor(read[2]);
    g.drawString(read[2].toString(), 200,340);
    g.setColor(read[3]);
    g.drawString(read[3].toString(), 250,360);
    if (read[4] != null) {
      g.setColor(read[4]);
      g.drawString("On image: "+read[4].toString(), 100,250);
    }
    if (read[5] != null) {
      g.setColor(Color.white);
      g.drawString("On screen: "+read[5].toString(), 100,270);
    }
  }

  /**
   * @see org.newdawn.slick.BasicGame#update(org.newdawn.slick.GameContainer, int)
   */
  public void update(GameContainer container, int delta) {
    int mx = container.getInput().getMouseX();
    int my = container.getInput().getMouseY();
   
    if ((mx >= 100) && (my >= 100) && (mx < 200) && (my < 200)) {
      read[4] = image.getColor(mx-100,my-100);
    } else {
      read[4] = Color.black;
    }
   
    read[5] = g.getPixel(mx, my);
  }

  /**
   * Entry point to our test
   *
   * @param argv The arguments to pass into the test
   */
  public static void main(String[] argv) {
    try {
      AppGameContainer container = new AppGameContainer(new ImageReadTest());
      container.setDisplayMode(800,600,false);
      container.start();
    } catch (SlickException e) {
      e.printStackTrace();
    }
  }
}
TOP

Related Classes of org.newdawn.slick.tests.ImageReadTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.