-
Bug
-
Resolution: Fixed
-
P3
-
8u45, 9
-
b124
-
x86
-
linux_ubuntu
FULL PRODUCT VERSION :
1.8.0_45-b14, build 25.45.-b02, mixed mode
ADDITIONAL OS VERSION INFORMATION :
Ubuntu 15.04, Linux 3.19.0-15-generic, i686
also Debian Wheezy
A DESCRIPTION OF THE PROBLEM :
Self-developed awt.image.ImageFilters are broken by Java8
REGRESSION. Last worked in version 7u80
ADDITIONAL REGRESSION INFORMATION:
1.7.0_80-b15, build 24.80-b11, mixed mode
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
run mvn test with pom.xml:
<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"><modelVersion>4.0.0</modelVersion><groupId>de.mclassen</groupId><artifactId>imagefilterbug</artifactId><version>0.0.1-SNAPSHOT</version>-<dependencies>-<dependency><groupId>jhlabs</groupId><artifactId>imaging</artifactId><version>1.1</version></dependency>-<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies></project>
ACTUAL -
empty image returned as filter result
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package imagefilterbug;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.GrayFilter;
import org.junit.Test;
import com.jhlabs.image.WaterFilter;
public class TestImageFilterBug {
@Test
public void testGrayFilter() throws IOException {
Image image = ImageIO.read(new File("target/test-classes/flower.jpg"));
ImageFilter grayFilter = new GrayFilter(true, 50);
FilteredImageSource filtered = new FilteredImageSource(
image.getSource(), grayFilter);
Image img = Toolkit.getDefaultToolkit().createImage(filtered);
BufferedImage bufferedImage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
bufferedImage.getGraphics().drawImage(img, 0, 0, null);
ImageIO.write(bufferedImage, "png", new File(
"target/test-classes/grayflower.png"));
}
@Test
public void testWaterFilter() throws IOException {
Image image = ImageIO.read(new File("target/test-classes/flower.jpg"));
ImageFilter waterFilter = new WaterFilter();
FilteredImageSource filtered = new FilteredImageSource(
image.getSource(), waterFilter);
Image img = Toolkit.getDefaultToolkit().createImage(filtered);
BufferedImage bufferedImage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
bufferedImage.getGraphics().drawImage(img, 0, 0, null);
ImageIO.write(bufferedImage, "png", new File(
"target/test-classes/wateredflower.png"));
}
}
---------- END SOURCE ----------
1.8.0_45-b14, build 25.45.-b02, mixed mode
ADDITIONAL OS VERSION INFORMATION :
Ubuntu 15.04, Linux 3.19.0-15-generic, i686
also Debian Wheezy
A DESCRIPTION OF THE PROBLEM :
Self-developed awt.image.ImageFilters are broken by Java8
REGRESSION. Last worked in version 7u80
ADDITIONAL REGRESSION INFORMATION:
1.7.0_80-b15, build 24.80-b11, mixed mode
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
run mvn test with pom.xml:
<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"><modelVersion>4.0.0</modelVersion><groupId>de.mclassen</groupId><artifactId>imagefilterbug</artifactId><version>0.0.1-SNAPSHOT</version>-<dependencies>-<dependency><groupId>jhlabs</groupId><artifactId>imaging</artifactId><version>1.1</version></dependency>-<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies></project>
ACTUAL -
empty image returned as filter result
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package imagefilterbug;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.GrayFilter;
import org.junit.Test;
import com.jhlabs.image.WaterFilter;
public class TestImageFilterBug {
@Test
public void testGrayFilter() throws IOException {
Image image = ImageIO.read(new File("target/test-classes/flower.jpg"));
ImageFilter grayFilter = new GrayFilter(true, 50);
FilteredImageSource filtered = new FilteredImageSource(
image.getSource(), grayFilter);
Image img = Toolkit.getDefaultToolkit().createImage(filtered);
BufferedImage bufferedImage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
bufferedImage.getGraphics().drawImage(img, 0, 0, null);
ImageIO.write(bufferedImage, "png", new File(
"target/test-classes/grayflower.png"));
}
@Test
public void testWaterFilter() throws IOException {
Image image = ImageIO.read(new File("target/test-classes/flower.jpg"));
ImageFilter waterFilter = new WaterFilter();
FilteredImageSource filtered = new FilteredImageSource(
image.getSource(), waterFilter);
Image img = Toolkit.getDefaultToolkit().createImage(filtered);
BufferedImage bufferedImage = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
bufferedImage.getGraphics().drawImage(img, 0, 0, null);
ImageIO.write(bufferedImage, "png", new File(
"target/test-classes/wateredflower.png"));
}
}
---------- END SOURCE ----------
- relates to
-
JDK-8160421 Regression: JDK-8139192 causes NPE in java.awt.Toolkit.createCustomCursor()
-
- Resolved
-
-
JDK-8160461 NPE with JEdit520 after change for JDK-8139192 (9-b124)
-
- Closed
-