chunk_splt.java
来自「Mapserver的一个java客户端,包含两个applet支持地图显示。」· Java 代码 · 共 61 行
JAVA
61 行
// Copyright (C) 1998, 1999, 2001 Chris Nokleberg// Please see included LICENSE.TXTpackage com.sixlegs.image.png;import java.util.Hashtable;import java.io.IOException;final class Chunk_sPLTextends Chunk{ Chunk_sPLT() { super(sPLT); } protected boolean beforeIDAT() { return true; } protected void readData() throws IOException { String name; if ((name = in_data.readString()).length() > 79) throw new PngExceptionSoft("sPLT palette name too long"); name = KeyValueChunk.repairKey(name); if (img.data.palettes.containsKey(name)) throw new PngExceptionSoft("Duplicate sPLT names"); int depth = in_data.readUnsignedByte(); int L = length - name.length(); int[][] prop; if (depth == 8) { if (L % 6 != 0) badLength(); int n = L / 6; prop = new int[5][n]; for (int i = 0; i < n; i++) { prop[0][i] = in_data.readUnsignedByte(); prop[1][i] = in_data.readUnsignedByte(); prop[2][i] = in_data.readUnsignedByte(); prop[3][i] = in_data.readUnsignedByte(); prop[4][i] = in_data.readUnsignedShort(); } } else if (depth == 16) { if (L % 10 != 0) badLength(); int n = L / 10; prop = new int[5][n]; for (int i = 0; i < n; i++) { prop[0][i] = in_data.readUnsignedShort(); prop[1][i] = in_data.readUnsignedShort(); prop[2][i] = in_data.readUnsignedShort(); prop[3][i] = in_data.readUnsignedShort(); prop[4][i] = in_data.readUnsignedShort(); } } else { throw new PngExceptionSoft("Bad sPLT sample depth: " + depth); } img.data.palettes.put(name, prop); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?