bmppalette.java

来自「用java实现的对位图文件读取的源程序代码。」· Java 代码 · 共 62 行

JAVA
62
字号
import java.util.HashMap;
import java.io.IOException;

public class BMPPalette {
	
	public final static int PALETTE 		= 0X36;
	
	public final static HashMap<Integer,Integer> lengthMap = new HashMap<Integer,Integer>(1);
	//set length  map 
	{
		lengthMap.put(1,256);
		lengthMap.put(2,256);
		lengthMap.put(4,256);
		lengthMap.put(8,256);
		lengthMap.put(16,256);
	}
	
	
	private int colorNum = 256;
	private int[] paletteColor;
	
	public void fill(BMPReader reader,int type) throws IOException {
		if (type > 16) {
			return;
		}
		paletteColor = reader.read4byteArray(PALETTE,lengthMap.get(type));
	}

	public void setColorNum(int aColorNum) {
		colorNum = aColorNum;
	}

	public int[] getPaletteColor() {
		return paletteColor;
	}

	public void setPaletteColor(int[] aPaletteColor) {
		paletteColor = aPaletteColor;
	}
	
	public String toString() {
		StringBuffer allColor = new StringBuffer();
		for (int i=0; i<paletteColor.length; i++) {
			allColor.append(Integer.toHexString(paletteColor[i]) + " ");
		}
		
		return new String(allColor);
	}
	
	
	public static void main(String[] args) throws Exception {
		String fileName = "girl.bmp";
		String mode = "rw";
		BMPReader reader = new BMPReader(fileName,mode);
		BMPPalette aBMPPalette = new BMPPalette();
		
		aBMPPalette.fill(reader,8);	
		System.out.println(aBMPPalette);
	}

}

⌨️ 快捷键说明

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