⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uniqueshader.java

📁 geotools的源码
💻 JAVA
字号:
package uk.ac.leeds.ccg.geotools;
import java.awt.*;
import java.util.*;
import java.awt.image.*;

public final class UniqueShader extends SimpleShader{
	Hashtable h = new Hashtable();

	public UniqueShader(){
		super();
	}
	public int getRGB(double value){
		Double v = new Double(value);
		Color c = (Color)h.get(v);
		if(c==null) c=missingColor ;
		return c.getRGB();
	}

	public void setColor(double value, Color c){
		Double v = new Double(value);
		h.put(v,c);
	}

	public UniqueShader(Image im, int width, int height){
    Canvas obs = new Canvas();
    //int width = im.getWidth(obs);
    //int height = im.getHeight(obs);
    int[] data = new int[(height*width)];
    PixelGrabber pg = new PixelGrabber(im,0,0,width,height,data,0,width);
    try {
      pg.grabPixels();
    } catch (InterruptedException e) {
      System.err.println("interrupted waiting for pixels!");
		}
    if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
      System.err.println("image fetch aborted or errored");
      return ;
    }
    System.out.println("Post grab");
    for (int j = 0; j < width*height; j++) {
			h.put(new Double(data[j]),new Color(data[j]));
		}
	}

	public String getName(){
		return "Unique Shader";
	}
}
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -