chunk_sbit.java
来自「Mapserver的一个java客户端,包含两个applet支持地图显示。」· Java 代码 · 共 67 行
JAVA
67 行
// Copyright (C) 1998, 1999, 2001 Chris Nokleberg// Please see included LICENSE.TXTpackage com.sixlegs.image.png;import java.io.IOException;final class Chunk_sBITextends Chunk{ Chunk_sBIT() { super(sBIT); } protected boolean multipleOK() { return false; } protected boolean beforeIDAT() { return true; } protected void readData() throws IOException { byte[] sbit = null; if (img.data.palette != null) throw new PngException("sBIT chunk must precede PLTE chunk"); int compare_depth = img.data.header.depth; switch (img.data.header.colorType) { case PngImage.COLOR_TYPE_GRAY: sbit = new byte[3]; sbit[0] = sbit[1] = sbit[2] = in_data.readByte(); break; case PngImage.COLOR_TYPE_PALETTE: compare_depth = 8; /* fall through */ case PngImage.COLOR_TYPE_RGB: sbit = new byte[3]; sbit[0] = in_data.readByte(); sbit[1] = in_data.readByte(); sbit[2] = in_data.readByte(); break; case PngImage.COLOR_TYPE_GRAY_ALPHA: sbit = new byte[4]; sbit[0] = sbit[1] = sbit[2] = in_data.readByte(); sbit[3] = in_data.readByte(); break; case PngImage.COLOR_TYPE_RGB_ALPHA: sbit = new byte[4]; sbit[0] = in_data.readByte(); sbit[1] = in_data.readByte(); sbit[2] = in_data.readByte(); sbit[3] = in_data.readByte(); break; } for (int i = 0; i < sbit.length; i++) { if (sbit[i] <= 0 || sbit[i] > compare_depth) throw new PngExceptionSoft("Illegal sBIT component depth"); } img.data.properties.put("significant bits", sbit); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?