javax.imageio.stream.ImageOutputStream#getStreamPosition ( )源码实例Demo

下面列出了javax.imageio.stream.ImageOutputStream#getStreamPosition ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: openjdk-jdk9   文件: WriteBitsTest.java
private static void verify(ImageOutputStream ios,
                           long expstreampos, int expbitoffset)
    throws IOException, RuntimeException
{
    long actstreampos = ios.getStreamPosition();
    int actbitoffset = ios.getBitOffset();

    if ((actstreampos != expstreampos) ||
        (actbitoffset != expbitoffset))
    {
        System.err.println("Expected stream position: " + expstreampos +
                           " Actual: " + actstreampos);
        System.err.println("Expected bit offset: " + expbitoffset +
                           " Actual: " + actbitoffset);
        throw new RuntimeException("Test failed.");
    }
}
 
源代码2 项目: jdk8u_jdk   文件: WriteBitsTest.java
private static void verify(ImageOutputStream ios,
                           long expstreampos, int expbitoffset)
    throws IOException, RuntimeException
{
    long actstreampos = ios.getStreamPosition();
    int actbitoffset = ios.getBitOffset();

    if ((actstreampos != expstreampos) ||
        (actbitoffset != expbitoffset))
    {
        System.err.println("Expected stream position: " + expstreampos +
                           " Actual: " + actstreampos);
        System.err.println("Expected bit offset: " + expbitoffset +
                           " Actual: " + actbitoffset);
        throw new RuntimeException("Test failed.");
    }
}
 
源代码3 项目: jdk1.8-source-analysis   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码4 项目: dragonwell8_jdk   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码5 项目: TencentKona-8   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码6 项目: jdk8u60   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码7 项目: JDKSourceCode1.8   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码8 项目: openjdk-jdk8u   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码9 项目: openjdk-jdk8u-backup   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码10 项目: Bytecoder   文件: PNGImageWriter.java
ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码11 项目: openjdk-jdk9   文件: PNGImageWriter.java
ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码12 项目: jdk8u-jdk   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码13 项目: openjdk-8-source   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码14 项目: openjdk-8   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码15 项目: jdk8u_jdk   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码16 项目: jdk8u-jdk   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码17 项目: jdk8u-dev-jdk   文件: PNGImageWriter.java
public ChunkStream(int type, ImageOutputStream stream) throws IOException {
    this.stream = stream;
    this.startPos = stream.getStreamPosition();

    stream.writeInt(-1); // length, will backpatch
    writeInt(type);
}
 
源代码18 项目: Bytecoder   文件: TIFFIFD.java
public void writeToStream(ImageOutputStream stream)
    throws IOException {

    int numFields = getNumTIFFFields();
    stream.writeShort(numFields);

    long nextSpace = stream.getStreamPosition() + 12*numFields + 4;

    Iterator<TIFFField> iter = iterator();
    while (iter.hasNext()) {
        TIFFField f = iter.next();

        TIFFTag tag = f.getTag();

        int type = f.getType();
        int count = f.getCount();

        // Deal with unknown tags
        if (type == 0) {
            type = TIFFTag.TIFF_UNDEFINED;
        }
        int size = count*TIFFTag.getSizeOfType(type);

        if (type == TIFFTag.TIFF_ASCII) {
            int chars = 0;
            for (int i = 0; i < count; i++) {
                chars += f.getAsString(i).length() + 1;
            }
            count = chars;
            size = count;
        }

        int tagNumber = f.getTagNumber();
        stream.writeShort(tagNumber);
        stream.writeShort(type);
        stream.writeInt(count);

        // Write a dummy value to fill space
        stream.writeInt(0);
        stream.mark(); // Mark beginning of next field
        stream.skipBytes(-4);

        long pos;

        if (size > 4 || tag.isIFDPointer()) {
            // Ensure IFD or value is written on a word boundary
            nextSpace = (nextSpace + 3) & ~0x3;

            stream.writeInt((int)nextSpace);
            stream.seek(nextSpace);
            pos = nextSpace;

            if (tag.isIFDPointer() && f.hasDirectory()) {
                TIFFIFD subIFD = getDirectoryAsIFD(f.getDirectory());
                subIFD.writeToStream(stream);
                nextSpace = subIFD.lastPosition;
            } else {
                writeTIFFFieldToStream(f, stream);
                nextSpace = stream.getStreamPosition();
            }
        } else {
            pos = stream.getStreamPosition();
            writeTIFFFieldToStream(f, stream);
        }

        // If we are writing the data for the
        // StripByteCounts, TileByteCounts, StripOffsets,
        // TileOffsets, JPEGInterchangeFormat, or
        // JPEGInterchangeFormatLength fields, record the current stream
        // position for backpatching
        if (tagNumber ==
            BaselineTIFFTagSet.TAG_STRIP_BYTE_COUNTS ||
            tagNumber == BaselineTIFFTagSet.TAG_TILE_BYTE_COUNTS ||
            tagNumber == BaselineTIFFTagSet.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH) {
            this.stripOrTileByteCountsPosition = pos;
        } else if (tagNumber ==
                   BaselineTIFFTagSet.TAG_STRIP_OFFSETS ||
                   tagNumber ==
                   BaselineTIFFTagSet.TAG_TILE_OFFSETS ||
                   tagNumber ==
                   BaselineTIFFTagSet.TAG_JPEG_INTERCHANGE_FORMAT) {
            this.stripOrTileOffsetsPosition = pos;
        }

        stream.reset(); // Go to marked position of next field
    }

    this.lastPosition = nextSpace;
}
 
源代码19 项目: openjdk-jdk9   文件: TIFFIFD.java
public void writeToStream(ImageOutputStream stream)
    throws IOException {

    int numFields = getNumTIFFFields();
    stream.writeShort(numFields);

    long nextSpace = stream.getStreamPosition() + 12*numFields + 4;

    Iterator<TIFFField> iter = iterator();
    while (iter.hasNext()) {
        TIFFField f = iter.next();

        TIFFTag tag = f.getTag();

        int type = f.getType();
        int count = f.getCount();

        // Deal with unknown tags
        if (type == 0) {
            type = TIFFTag.TIFF_UNDEFINED;
        }
        int size = count*TIFFTag.getSizeOfType(type);

        if (type == TIFFTag.TIFF_ASCII) {
            int chars = 0;
            for (int i = 0; i < count; i++) {
                chars += f.getAsString(i).length() + 1;
            }
            count = chars;
            size = count;
        }

        int tagNumber = f.getTagNumber();
        stream.writeShort(tagNumber);
        stream.writeShort(type);
        stream.writeInt(count);

        // Write a dummy value to fill space
        stream.writeInt(0);
        stream.mark(); // Mark beginning of next field
        stream.skipBytes(-4);

        long pos;

        if (size > 4 || tag.isIFDPointer()) {
            // Ensure IFD or value is written on a word boundary
            nextSpace = (nextSpace + 3) & ~0x3;

            stream.writeInt((int)nextSpace);
            stream.seek(nextSpace);
            pos = nextSpace;

            if (tag.isIFDPointer() && f.hasDirectory()) {
                TIFFIFD subIFD = getDirectoryAsIFD(f.getDirectory());
                subIFD.writeToStream(stream);
                nextSpace = subIFD.lastPosition;
            } else {
                writeTIFFFieldToStream(f, stream);
                nextSpace = stream.getStreamPosition();
            }
        } else {
            pos = stream.getStreamPosition();
            writeTIFFFieldToStream(f, stream);
        }

        // If we are writing the data for the
        // StripByteCounts, TileByteCounts, StripOffsets,
        // TileOffsets, JPEGInterchangeFormat, or
        // JPEGInterchangeFormatLength fields, record the current stream
        // position for backpatching
        if (tagNumber ==
            BaselineTIFFTagSet.TAG_STRIP_BYTE_COUNTS ||
            tagNumber == BaselineTIFFTagSet.TAG_TILE_BYTE_COUNTS ||
            tagNumber == BaselineTIFFTagSet.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH) {
            this.stripOrTileByteCountsPosition = pos;
        } else if (tagNumber ==
                   BaselineTIFFTagSet.TAG_STRIP_OFFSETS ||
                   tagNumber ==
                   BaselineTIFFTagSet.TAG_TILE_OFFSETS ||
                   tagNumber ==
                   BaselineTIFFTagSet.TAG_JPEG_INTERCHANGE_FORMAT) {
            this.stripOrTileOffsetsPosition = pos;
        }

        stream.reset(); // Go to marked position of next field
    }

    this.lastPosition = nextSpace;
}
 
源代码20 项目: jpexs-decompiler   文件: SubImageOutputStream.java
public SubImageOutputStream(ImageOutputStream out, ByteOrder bo,boolean forwardFlushAndClose) throws IOException {
    this(out, out.getStreamPosition(),bo,forwardFlushAndClose);
}