2015-05-06 09:44:51 +00:00
|
|
|
Index: java3d-1.5.2/j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java
|
|
|
|
===================================================================
|
|
|
|
--- java3d-1.5.2.orig/j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java
|
|
|
|
+++ java3d-1.5.2/j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java
|
2015-05-06 09:11:58 +00:00
|
|
|
@@ -61,10 +61,7 @@ import com.sun.j3d.utils.scenegraph.io.r
|
|
|
|
import com.sun.j3d.utils.scenegraph.io.retained.SGIORuntimeException;
|
|
|
|
import java.awt.color.ColorSpace;
|
|
|
|
import java.awt.image.DataBuffer;
|
|
|
|
-import com.sun.image.codec.jpeg.JPEGImageEncoder;
|
|
|
|
-import com.sun.image.codec.jpeg.JPEGImageDecoder;
|
|
|
|
-import com.sun.image.codec.jpeg.JPEGCodec;
|
|
|
|
-import com.sun.image.codec.jpeg.JPEGEncodeParam;
|
|
|
|
+import javax.imageio.ImageIO;
|
|
|
|
|
|
|
|
public abstract class ImageComponentState extends NodeComponentState {
|
|
|
|
|
|
|
|
@@ -203,10 +200,9 @@ public abstract class ImageComponentStat
|
|
|
|
|
|
|
|
private void writeBufferedImageJpegCompression( DataOutput out, BufferedImage image ) throws IOException {
|
|
|
|
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
|
|
|
|
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( byteStream );
|
|
|
|
-
|
|
|
|
- encoder.encode( image );
|
|
|
|
- byteStream.close();
|
|
|
|
+ if (!ImageIO.write(image, "jpeg", byteStream)) {
|
|
|
|
+ throw new AssertionError("No JPEG encoder available");
|
|
|
|
+ }
|
|
|
|
|
|
|
|
byte[] buffer = byteStream.toByteArray();
|
|
|
|
out.writeInt( buffer.length );
|
|
|
|
@@ -261,11 +257,15 @@ public abstract class ImageComponentStat
|
|
|
|
byte[] buffer = new byte[ size ];
|
|
|
|
in.readFully( buffer );
|
|
|
|
ByteArrayInputStream byteStream = new ByteArrayInputStream( buffer );
|
|
|
|
-
|
|
|
|
- JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder( byteStream );
|
|
|
|
- byteStream.close();
|
|
|
|
-
|
|
|
|
- return decoder.decodeAsBufferedImage();
|
|
|
|
+ try {
|
|
|
|
+ BufferedImage img = ImageIO.read(byteStream);
|
|
|
|
+ if (img == null) {
|
|
|
|
+ throw new AssertionError("No ImageReader available.");
|
|
|
|
+ }
|
|
|
|
+ return img;
|
|
|
|
+ } finally {
|
|
|
|
+ byteStream.close();
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
|
|
|
|
private void writeColorModel( DataOutput out, ColorModel colorModel ) throws IOException {
|
2015-05-06 09:44:51 +00:00
|
|
|
Index: java3d-1.5.2/j3d-core/src/native/build.xml
|
|
|
|
===================================================================
|
|
|
|
--- java3d-1.5.2.orig/j3d-core/src/native/build.xml
|
|
|
|
+++ java3d-1.5.2/j3d-core/src/native/build.xml
|
|
|
|
@@ -347,6 +347,7 @@
|
2015-05-06 09:11:58 +00:00
|
|
|
<javah destdir="${javahCoreTarget}" force="yes">
|
|
|
|
<classpath>
|
|
|
|
<pathelement path="${build}/${platform}/${bldType}/classes"/>
|
|
|
|
+ <pathelement path="${vecmath_home}/build/opt/lib/ext/vecmath.jar" />
|
|
|
|
</classpath>
|
|
|
|
|
|
|
|
<class name="javax.media.j3d.Background"/>
|