javax.imageio.plugins.tiff.BaselineTIFFTagSet#FILL_ORDER_RIGHT_TO_LEFT源码实例Demo

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

源代码1 项目: Bytecoder   文件: TIFFLZWDecompressor.java
public TIFFLZWDecompressor(int predictor, int fillOrder)
    throws IIOException {
    super();

    if (predictor != BaselineTIFFTagSet.PREDICTOR_NONE &&
        predictor !=
        BaselineTIFFTagSet.PREDICTOR_HORIZONTAL_DIFFERENCING) {
        throw new IIOException("Illegal value for Predictor in " +
                               "TIFF file");
    }

    this.predictor = predictor;

    flipBits = fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT;
}
 
源代码2 项目: openjdk-jdk9   文件: TIFFLZWDecompressor.java
public TIFFLZWDecompressor(int predictor, int fillOrder)
    throws IIOException {
    super();

    if (predictor != BaselineTIFFTagSet.PREDICTOR_NONE &&
        predictor !=
        BaselineTIFFTagSet.PREDICTOR_HORIZONTAL_DIFFERENCING) {
        throw new IIOException("Illegal value for Predictor in " +
                               "TIFF file");
    }

    this.predictor = predictor;

    flipBits = fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT;
}
 
源代码3 项目: Bytecoder   文件: TIFFFaxDecompressor.java
private int nextNBits(int bitsToGet) throws IIOException {
    byte b, next, next2next;
    int l = data.length - 1;
    int bp = this.bytePointer;

    if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_LEFT_TO_RIGHT) {
        b = data[bp];

        if (bp == l) {
            next = 0x00;
            next2next = 0x00;
        } else if ((bp + 1) == l) {
            next = data[bp + 1];
            next2next = 0x00;
        } else {
            next = data[bp + 1];
            next2next = data[bp + 2];
        }
    } else if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT) {
        b = flipTable[data[bp] & 0xff];

        if (bp == l) {
            next = 0x00;
            next2next = 0x00;
        } else if ((bp + 1) == l) {
            next = flipTable[data[bp + 1] & 0xff];
            next2next = 0x00;
        } else {
            next = flipTable[data[bp + 1] & 0xff];
            next2next = flipTable[data[bp + 2] & 0xff];
        }
    } else {
        throw new IIOException("Invalid FillOrder");
    }

    int bitsLeft = 8 - bitPointer;
    int bitsFromNextByte = bitsToGet - bitsLeft;
    int bitsFromNext2NextByte = 0;
    if (bitsFromNextByte > 8) {
        bitsFromNext2NextByte = bitsFromNextByte - 8;
        bitsFromNextByte = 8;
    }

    bytePointer++;

    int i1 = (b & table1[bitsLeft]) << (bitsToGet - bitsLeft);
    int i2 = (next & table2[bitsFromNextByte]) >>> (8 - bitsFromNextByte);

    int i3 = 0;
    if (bitsFromNext2NextByte != 0) {
        i2 <<= bitsFromNext2NextByte;
        i3 = (next2next & table2[bitsFromNext2NextByte]) >>>
            (8 - bitsFromNext2NextByte);
        i2 |= i3;
        bytePointer++;
        bitPointer = bitsFromNext2NextByte;
    } else {
        if (bitsFromNextByte == 8) {
            bitPointer = 0;
            bytePointer++;
        } else {
            bitPointer = bitsFromNextByte;
        }
    }

    int i = i1 | i2;
    return i;
}
 
源代码4 项目: Bytecoder   文件: TIFFFaxDecompressor.java
private int nextLesserThan8Bits(int bitsToGet) throws IIOException {
    byte b, next;
    int l = data.length - 1;
    int bp = this.bytePointer;

    if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_LEFT_TO_RIGHT) {
        b = data[bp];
        if (bp == l) {
            next = 0x00;
        } else {
            next = data[bp + 1];
        }
    } else if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT) {
        b = flipTable[data[bp] & 0xff];
        if (bp == l) {
            next = 0x00;
        } else {
            next = flipTable[data[bp + 1] & 0xff];
        }
    } else {
        throw new IIOException("Invalid FillOrder");
    }

    int bitsLeft = 8 - bitPointer;
    int bitsFromNextByte = bitsToGet - bitsLeft;

    int shift = bitsLeft - bitsToGet;
    int i1, i2;
    if (shift >= 0) {
        i1 = (b & table1[bitsLeft]) >>> shift;
        bitPointer += bitsToGet;
        if (bitPointer == 8) {
            bitPointer = 0;
            bytePointer++;
        }
    } else {
        i1 = (b & table1[bitsLeft]) << (-shift);
        i2 = (next & table2[bitsFromNextByte]) >>> (8 - bitsFromNextByte);

        i1 |= i2;
        bytePointer++;
        bitPointer = bitsFromNextByte;
    }

    return i1;
}
 
源代码5 项目: openjdk-jdk9   文件: TIFFFaxDecompressor.java
private int nextNBits(int bitsToGet) throws IIOException {
    byte b, next, next2next;
    int l = data.length - 1;
    int bp = this.bytePointer;

    if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_LEFT_TO_RIGHT) {
        b = data[bp];

        if (bp == l) {
            next = 0x00;
            next2next = 0x00;
        } else if ((bp + 1) == l) {
            next = data[bp + 1];
            next2next = 0x00;
        } else {
            next = data[bp + 1];
            next2next = data[bp + 2];
        }
    } else if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT) {
        b = flipTable[data[bp] & 0xff];

        if (bp == l) {
            next = 0x00;
            next2next = 0x00;
        } else if ((bp + 1) == l) {
            next = flipTable[data[bp + 1] & 0xff];
            next2next = 0x00;
        } else {
            next = flipTable[data[bp + 1] & 0xff];
            next2next = flipTable[data[bp + 2] & 0xff];
        }
    } else {
        throw new IIOException("Invalid FillOrder");
    }

    int bitsLeft = 8 - bitPointer;
    int bitsFromNextByte = bitsToGet - bitsLeft;
    int bitsFromNext2NextByte = 0;
    if (bitsFromNextByte > 8) {
        bitsFromNext2NextByte = bitsFromNextByte - 8;
        bitsFromNextByte = 8;
    }

    bytePointer++;

    int i1 = (b & table1[bitsLeft]) << (bitsToGet - bitsLeft);
    int i2 = (next & table2[bitsFromNextByte]) >>> (8 - bitsFromNextByte);

    int i3 = 0;
    if (bitsFromNext2NextByte != 0) {
        i2 <<= bitsFromNext2NextByte;
        i3 = (next2next & table2[bitsFromNext2NextByte]) >>>
            (8 - bitsFromNext2NextByte);
        i2 |= i3;
        bytePointer++;
        bitPointer = bitsFromNext2NextByte;
    } else {
        if (bitsFromNextByte == 8) {
            bitPointer = 0;
            bytePointer++;
        } else {
            bitPointer = bitsFromNextByte;
        }
    }

    int i = i1 | i2;
    return i;
}
 
源代码6 项目: openjdk-jdk9   文件: TIFFFaxDecompressor.java
private int nextLesserThan8Bits(int bitsToGet) throws IIOException {
    byte b, next;
    int l = data.length - 1;
    int bp = this.bytePointer;

    if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_LEFT_TO_RIGHT) {
        b = data[bp];
        if (bp == l) {
            next = 0x00;
        } else {
            next = data[bp + 1];
        }
    } else if (fillOrder == BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT) {
        b = flipTable[data[bp] & 0xff];
        if (bp == l) {
            next = 0x00;
        } else {
            next = flipTable[data[bp + 1] & 0xff];
        }
    } else {
        throw new IIOException("Invalid FillOrder");
    }

    int bitsLeft = 8 - bitPointer;
    int bitsFromNextByte = bitsToGet - bitsLeft;

    int shift = bitsLeft - bitsToGet;
    int i1, i2;
    if (shift >= 0) {
        i1 = (b & table1[bitsLeft]) >>> shift;
        bitPointer += bitsToGet;
        if (bitPointer == 8) {
            bitPointer = 0;
            bytePointer++;
        }
    } else {
        i1 = (b & table1[bitsLeft]) << (-shift);
        i2 = (next & table2[bitsFromNextByte]) >>> (8 - bitsFromNextByte);

        i1 |= i2;
        bytePointer++;
        bitPointer = bitsFromNextByte;
    }

    return i1;
}