1096 decompressor.setDstMinX(dstMinX);
1097 decompressor.setDstMinY(dstMinY);
1098 decompressor.setDstWidth(dstWidth);
1099 decompressor.setDstHeight(dstHeight);
1100
1101 decompressor.setActiveSrcMinX(activeSrcMinX);
1102 decompressor.setActiveSrcMinY(activeSrcMinY);
1103 decompressor.setActiveSrcWidth(activeSrcWidth);
1104 decompressor.setActiveSrcHeight(activeSrcHeight);
1105
1106 int tileIndex = tj * tilesAcross + ti;
1107
1108 if (planarConfiguration
1109 == BaselineTIFFTagSet.PLANAR_CONFIGURATION_PLANAR) {
1110 tileIndex += band * tilesAcross * tilesDown;
1111 }
1112
1113 long offset = getTileOrStripOffset(tileIndex);
1114 long byteCount = getTileOrStripByteCount(tileIndex);
1115
1116 decompressor.setStream(stream);
1117 decompressor.setOffset(offset);
1118 decompressor.setByteCount((int) byteCount);
1119
1120 decompressor.beginDecoding();
1121
1122 stream.mark();
1123 decompressor.decode();
1124 stream.reset();
1125 }
1126
1127 private void reportProgress() {
1128 // Report image progress/update to listeners after each tile
1129 pixelsRead += dstWidth * dstHeight;
1130 processImageProgress(100.0f * pixelsRead / pixelsToRead);
1131 processImageUpdate(theImage,
1132 dstMinX, dstMinY, dstWidth, dstHeight,
1133 1, 1,
1134 destinationBands);
1135 }
|
1096 decompressor.setDstMinX(dstMinX);
1097 decompressor.setDstMinY(dstMinY);
1098 decompressor.setDstWidth(dstWidth);
1099 decompressor.setDstHeight(dstHeight);
1100
1101 decompressor.setActiveSrcMinX(activeSrcMinX);
1102 decompressor.setActiveSrcMinY(activeSrcMinY);
1103 decompressor.setActiveSrcWidth(activeSrcWidth);
1104 decompressor.setActiveSrcHeight(activeSrcHeight);
1105
1106 int tileIndex = tj * tilesAcross + ti;
1107
1108 if (planarConfiguration
1109 == BaselineTIFFTagSet.PLANAR_CONFIGURATION_PLANAR) {
1110 tileIndex += band * tilesAcross * tilesDown;
1111 }
1112
1113 long offset = getTileOrStripOffset(tileIndex);
1114 long byteCount = getTileOrStripByteCount(tileIndex);
1115
1116 decompressor.setPlanarBand(band);
1117 decompressor.setStream(stream);
1118 decompressor.setOffset(offset);
1119 decompressor.setByteCount((int) byteCount);
1120
1121 decompressor.beginDecoding();
1122
1123 stream.mark();
1124 decompressor.decode();
1125 stream.reset();
1126 }
1127
1128 private void reportProgress() {
1129 // Report image progress/update to listeners after each tile
1130 pixelsRead += dstWidth * dstHeight;
1131 processImageProgress(100.0f * pixelsRead / pixelsToRead);
1132 processImageUpdate(theImage,
1133 dstMinX, dstMinY, dstWidth, dstHeight,
1134 1, 1,
1135 destinationBands);
1136 }
|