mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-08-06 04:55:30 -04:00
Merge pull request #39 from escenic/upstream
JPEGImageReader throws "IllegalStateException: sourceRegion.height <= subsamplingYOffset!"
This commit is contained in:
commit
d607450ae4
@ -445,6 +445,10 @@ public class JPEGImageReader extends ImageReaderBase {
|
|||||||
for (int y = srcRegion.y; y < srcMaxY; y += step) {
|
for (int y = srcRegion.y; y < srcMaxY; y += step) {
|
||||||
int scan = Math.min(step, srcMaxY - y);
|
int scan = Math.min(step, srcMaxY - y);
|
||||||
|
|
||||||
|
if(scan <= param.getSubsamplingYOffset()) {
|
||||||
|
param.setSourceSubsampling(param.getSourceXSubsampling(),param.getSourceYSubsampling(),param.getSubsamplingXOffset(),0);
|
||||||
|
}
|
||||||
|
|
||||||
// Let the progress delegator handle progress, using corrected range
|
// Let the progress delegator handle progress, using corrected range
|
||||||
progressDelegator.updateProgressRange(100f * (y + scan) / srcRegion.height);
|
progressDelegator.updateProgressRange(100f * (y + scan) / srcRegion.height);
|
||||||
|
|
||||||
|
@ -988,4 +988,54 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase<JPEGImageRe
|
|||||||
|
|
||||||
return sortedNodes;
|
return sortedNodes;
|
||||||
}
|
}
|
||||||
|
@Test
|
||||||
|
public void testReadImage1028() throws IOException {
|
||||||
|
JPEGImageReader reader = createReader();
|
||||||
|
reader.setInput(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/read-error1028.jpg")));
|
||||||
|
|
||||||
|
ImageReadParam param = reader.getDefaultReadParam();
|
||||||
|
param.setSourceSubsampling(3, 3, 1, 1);
|
||||||
|
BufferedImage image = reader.read(0, param);
|
||||||
|
assertNotNull(image);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testReadImage1027() throws IOException {
|
||||||
|
JPEGImageReader reader = createReader();
|
||||||
|
reader.setInput(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/read-error1027.jpg")));
|
||||||
|
|
||||||
|
ImageReadParam param = reader.getDefaultReadParam();
|
||||||
|
param.setSourceSubsampling(3, 3, 2, 2);
|
||||||
|
BufferedImage image = reader.read(0, param);
|
||||||
|
assertNotNull(image);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testReadImage1026() throws IOException {
|
||||||
|
JPEGImageReader reader = createReader();
|
||||||
|
reader.setInput(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/read-error1026.jpg")));
|
||||||
|
|
||||||
|
ImageReadParam param = reader.getDefaultReadParam();
|
||||||
|
param.setSourceSubsampling(3, 3, 1, 1);
|
||||||
|
BufferedImage image = reader.read(0, param);
|
||||||
|
assertNotNull(image);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testReadImage1025() throws IOException {
|
||||||
|
JPEGImageReader reader = createReader();
|
||||||
|
reader.setInput(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/read-error1025.jpg")));
|
||||||
|
|
||||||
|
ImageReadParam param = reader.getDefaultReadParam();
|
||||||
|
param.setSourceSubsampling(3, 3, 1, 1);
|
||||||
|
BufferedImage image = reader.read(0, param);
|
||||||
|
assertNotNull(image);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void testReadImage1024() throws IOException {
|
||||||
|
JPEGImageReader reader = createReader();
|
||||||
|
reader.setInput(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/read-error1024.jpg")));
|
||||||
|
|
||||||
|
ImageReadParam param = reader.getDefaultReadParam();
|
||||||
|
param.setSourceSubsampling(3, 3, 1, 1);
|
||||||
|
BufferedImage image = reader.read(0, param);
|
||||||
|
assertNotNull(image);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1024.jpg
Normal file
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1024.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1025.jpg
Normal file
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1025.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1026.jpg
Normal file
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1026.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1027.jpg
Normal file
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1027.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1028.jpg
Normal file
BIN
imageio/imageio-jpeg/src/test/resources/jpeg/read-error1028.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Loading…
x
Reference in New Issue
Block a user