uniqueshader.java
来自「geotools的源码」· Java 代码 · 共 51 行
JAVA
51 行
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 + =
减小字号Ctrl + -
显示快捷键?