mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-08-05 04:25:29 -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) {
|
||||
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
|
||||
progressDelegator.updateProgressRange(100f * (y + scan) / srcRegion.height);
|
||||
|
||||
|
@ -988,4 +988,54 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase<JPEGImageRe
|
||||
|
||||
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