Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-kde
Path: blob/main/java/java3d/files/patch-ImageComponentState.java
16460 views
1
work/java3d-1.5.2/j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d
2
--- j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java.orig
3
+++ j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java
4
@@ -61,10 +61,7 @@ import com.sun.j3d.utils.scenegraph.io.r
5
import com.sun.j3d.utils.scenegraph.io.retained.SGIORuntimeException;
6
import java.awt.color.ColorSpace;
7
import java.awt.image.DataBuffer;
8
-import com.sun.image.codec.jpeg.JPEGImageEncoder;
9
-import com.sun.image.codec.jpeg.JPEGImageDecoder;
10
-import com.sun.image.codec.jpeg.JPEGCodec;
11
-import com.sun.image.codec.jpeg.JPEGEncodeParam;
12
+import javax.imageio.ImageIO;
13
14
public abstract class ImageComponentState extends NodeComponentState {
15
16
@@ -203,10 +200,9 @@ public abstract class ImageComponentStat
17
18
private void writeBufferedImageJpegCompression( DataOutput out, BufferedImage image ) throws IOException {
19
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
20
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( byteStream );
21
-
22
- encoder.encode( image );
23
- byteStream.close();
24
+ if (!ImageIO.write(image, "jpeg", byteStream)) {
25
+ throw new AssertionError("No JPEG encoder available");
26
+ }
27
28
byte[] buffer = byteStream.toByteArray();
29
out.writeInt( buffer.length );
30
@@ -261,11 +257,15 @@ public abstract class ImageComponentStat
31
byte[] buffer = new byte[ size ];
32
in.readFully( buffer );
33
ByteArrayInputStream byteStream = new ByteArrayInputStream( buffer );
34
-
35
- JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder( byteStream );
36
- byteStream.close();
37
-
38
- return decoder.decodeAsBufferedImage();
39
+ try {
40
+ BufferedImage img = ImageIO.read(byteStream);
41
+ if (img == null) {
42
+ throw new AssertionError("No ImageReader available.");
43
+ }
44
+ return img;
45
+ } finally {
46
+ byteStream.close();
47
+ }
48
}
49
50
private void writeColorModel( DataOutput out, ColorModel colorModel ) throws IOException {
51
52