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

📄 greyscaleslopecolors.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/grid/GreyscaleSlopeColors.java,v $// $RCSfile: GreyscaleSlopeColors.java,v $// $Revision: 1.2.2.2 $// $Date: 2005/12/22 18:42:47 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.omGraphics.grid;import java.awt.Color;import com.bbn.openmap.omGraphics.OMColor;import com.bbn.openmap.proj.Length;/** * Creates the colors used for displaying the DTED images. The default * mode is to use greyscale colors. */public class GreyscaleSlopeColors implements ElevationColors {    public final static int NUM_COLORS = 256;    public final static int NUM_ELEVATION_COLORS = 25;    public final static int DEFAULT_OPAQUENESS = 255;    public Color waterColor = new OMColor(0x00bfefff);    /** the colors in use right now, ARGB values. */    public int[] colors;    /** adjustment is set up for values between 1-5. */    public int adjustment = 3;    /** Default setting is 216 colors, and greyscale. */    public GreyscaleSlopeColors() {        getColors();    }    /**     * Get a List of colors.     */    public int[] getColors() {        if (colors == null) {            colors = createGreyscaleColors(NUM_ELEVATION_COLORS,                    DEFAULT_OPAQUENESS);        }        return colors;    }    /**     * Set the List of colors.     */    public void setColors(int[] clrs) {        colors = clrs;    }    public int[] getColortable() {        return getColors();    }        /**     * Set the color to use for water/invalid data, zero elevation.     */    public void setWaterColor(Color water) {        waterColor = water;    }    /**     * Get the color to use for water/invalid data, zero elevation.     */    public Color getWaterColor() {        return waterColor;    }    /**     * Get the Color for the given elevation, with the provided units.     * The slope of the land, from the northwest to the southeast, is     * provided.     */    public Color getColor(int elevation, Length units, double slope) {        return new Color(getARGB(elevation, units, slope));    }    /**     * Get the int argb value for a given elevation, with the provided     * units. The slope of the land, from the northwest to the     * southeast, is provided in case that should matter.     */    public int getARGB(int elevation, Length units, double slope) {        //         Debug.output("slope = " + slope + ", elevation = " +        // elevation);        float value = (float) (((colors.length - 1) / 2) + slope);        // not water, but close in the colormap - max dark        if (slope != 0 && value < 1)            value = 1;        if (elevation == 0)            value = 0; // water?!?        if (value > (colors.length - 1)) {            value = colors.length - 1; // max bright        }        return colors[(int) value];    }    public int numColors() {        return colors.length;    }    public int[] createGreyscaleColors(int num_colors, int opaqueness) {        int[] tempColors = new int[num_colors];        if (num_colors == 0) {            num_colors = NUM_ELEVATION_COLORS;        }        int grey_interval = 256 / num_colors;        for (int i = 0; i < num_colors; i++) {            if (i == 0) {                tempColors[i] = waterColor.getRGB();            } else {                int color = (i * grey_interval) + (grey_interval / 2);                tempColors[i] = new Color(color, color, color, opaqueness).getRGB();            }        }        return tempColors;    }}

⌨️ 快捷键说明

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