Line
Link Here
|
|
* Replace use of com.sun.image.codec.jpeg.* with ImageIO. |
|
* Replace use of com.sun.image.codec.jpeg.* with ImageIO. |
1 |
* Extend class-path for javah |
1 |
* Extend class-path for javah |
2 |
-- j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java |
2 |
++ j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java.new |
Lines 61-70
import com.sun.j3d.utils.scenegraph.io.r
Link Here
|
61 |
import com.sun.j3d.utils.scenegraph.io.retained.SGIORuntimeException; |
61 |
import com.sun.j3d.utils.scenegraph.io.retained.SGIORuntimeException; |
62 |
import java.awt.color.ColorSpace; |
62 |
import java.awt.color.ColorSpace; |
63 |
import java.awt.image.DataBuffer; |
63 |
import java.awt.image.DataBuffer; |
64 |
import com.sun.image.codec.jpeg.JPEGImageEncoder; |
64 |
import javax.imageio.ImageIO; |
65 |
import com.sun.image.codec.jpeg.JPEGImageDecoder; |
|
|
66 |
import com.sun.image.codec.jpeg.JPEGCodec; |
67 |
import com.sun.image.codec.jpeg.JPEGEncodeParam; |
68 |
|
65 |
|
69 |
public abstract class ImageComponentState extends NodeComponentState { |
66 |
public abstract class ImageComponentState extends NodeComponentState { |
70 |
|
67 |
|
Lines 203-212
public abstract class ImageComponentStat
Link Here
|
203 |
|
200 |
|
204 |
private void writeBufferedImageJpegCompression( DataOutput out, BufferedImage image ) throws IOException { |
201 |
private void writeBufferedImageJpegCompression( DataOutput out, BufferedImage image ) throws IOException { |
205 |
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); |
202 |
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); |
206 |
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( byteStream ); |
203 |
if (!ImageIO.write(image, "jpeg", byteStream)) { |
207 |
|
204 |
throw new AssertionError("No JPEG encoder available"); |
208 |
encoder.encode( image ); |
205 |
} |
209 |
byteStream.close(); |
|
|
210 |
|
206 |
|
211 |
byte[] buffer = byteStream.toByteArray(); |
207 |
byte[] buffer = byteStream.toByteArray(); |
212 |
out.writeInt( buffer.length ); |
208 |
out.writeInt( buffer.length ); |
Lines 261-271
public abstract class ImageComponentStat
Link Here
|
261 |
byte[] buffer = new byte[ size ]; |
257 |
byte[] buffer = new byte[ size ]; |
262 |
in.readFully( buffer ); |
258 |
in.readFully( buffer ); |
263 |
ByteArrayInputStream byteStream = new ByteArrayInputStream( buffer ); |
259 |
ByteArrayInputStream byteStream = new ByteArrayInputStream( buffer ); |
264 |
|
260 |
try { |
265 |
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder( byteStream ); |
261 |
BufferedImage img = ImageIO.read(byteStream); |
266 |
byteStream.close(); |
262 |
if (img == null) { |
267 |
|
263 |
throw new AssertionError("No ImageReader available."); |
268 |
return decoder.decodeAsBufferedImage(); |
264 |
} |
|
|
265 |
return img; |
266 |
} finally { |
267 |
byteStream.close(); |
268 |
} |
269 |
} |
269 |
} |
270 |
|
270 |
|
271 |
private void writeColorModel( DataOutput out, ColorModel colorModel ) throws IOException { |
271 |
private void writeColorModel( DataOutput out, ColorModel colorModel ) throws IOException { |