drimarkersegment.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 67 行

JAVA
67
字号
/* * @(#)DRIMarkerSegment.java	1.5 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.imageio.plugins.jpeg;import javax.imageio.metadata.IIOInvalidTreeException;import javax.imageio.metadata.IIOMetadataNode;import javax.imageio.stream.ImageOutputStream;import java.io.IOException;import org.w3c.dom.Node;/**     * A DRI (Define Restart Interval) marker segment.     */class DRIMarkerSegment extends MarkerSegment {    /**     * Restart interval, or 0 if none is specified.     */    int restartInterval = 0;    DRIMarkerSegment(JPEGBuffer buffer)        throws IOException {        super(buffer);        restartInterval = (buffer.buf[buffer.bufPtr++] & 0xff) << 8;        restartInterval |= buffer.buf[buffer.bufPtr++] & 0xff;        buffer.bufAvail -= length;    }    DRIMarkerSegment(Node node) throws IIOInvalidTreeException {        super(JPEG.DRI);        updateFromNativeNode(node, true);    }    IIOMetadataNode getNativeNode() {        IIOMetadataNode node = new IIOMetadataNode("dri");        node.setAttribute("interval", Integer.toString(restartInterval));        return node;    }    void updateFromNativeNode(Node node, boolean fromScratch)          throws IIOInvalidTreeException {        restartInterval = getAttributeValue(node, null, "interval",                                             0, 65535, true);    }    /**     * Writes the data for this segment to the stream in     * valid JPEG format.     */    void write(ImageOutputStream ios) throws IOException {        // We don't write DRI segments; the IJG library does.    }    void print() {        printTag("DRI");        System.out.println("Interval: "                            + Integer.toString(restartInterval));    }}

⌨️ 快捷键说明

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