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

📄 pngchunkreader.java

📁 源码为Eclipse开源开发平台桌面开发工具SWT的源代码,
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials  * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html *  * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.internal.image;import org.eclipse.swt.*;public class PngChunkReader {	LEDataInputStream inputStream;	PngFileReadState readState;	PngIhdrChunk headerChunk;	PngPlteChunk paletteChunk;	PngChunkReader(LEDataInputStream inputStream) {	this.inputStream = inputStream;	readState = new PngFileReadState();	headerChunk = null;}PngIhdrChunk getIhdrChunk() {	if (headerChunk == null) {		try { 			PngChunk chunk = PngChunk.readNextFromStream(inputStream);			headerChunk = (PngIhdrChunk) chunk;			headerChunk.validate(readState, null);		} catch (ClassCastException e) {			SWT.error(SWT.ERROR_INVALID_IMAGE);		}	}	return headerChunk;}PngChunk readNextChunk() {	if (headerChunk == null) return getIhdrChunk();		PngChunk chunk = PngChunk.readNextFromStream(inputStream);	switch (chunk.getChunkType()) {		case PngChunk.CHUNK_tRNS:			((PngTrnsChunk) chunk).validate(readState, headerChunk, paletteChunk);			break;		case PngChunk.CHUNK_PLTE:			chunk.validate(readState, headerChunk);			paletteChunk = (PngPlteChunk) chunk;			break;		default:			chunk.validate(readState, headerChunk);	}	if (readState.readIDAT && !(chunk.getChunkType() == PngChunk.CHUNK_IDAT)) {		readState.readPixelData = true;	}	return chunk;}boolean readPixelData() {	return readState.readPixelData;}boolean hasMoreChunks() {	return !readState.readIEND;}}

⌨️ 快捷键说明

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