4747
4848import java .awt .image .BufferedImage ;
4949import java .io .ByteArrayInputStream ;
50+ import java .io .IOException ;
5051import java .io .InputStream ;
5152import java .net .URL ;
5253import javax .imageio .ImageIO ;
@@ -73,7 +74,7 @@ public class ImageLoader {
7374 public static Image getPngImage (URL url ) {
7475 try (InputStream is = url .openStream ()) {
7576 BufferedImage bufferedImage = ImageIO .read (is );
76- return Image . getInstance (bufferedImage , null , false );
77+ return getImage (bufferedImage , Image . ORIGINAL_PNG );
7778 } catch (Exception e ) {
7879 throw new ExceptionConverter (e );
7980 }
@@ -90,7 +91,7 @@ public static Image getWMFImage(URL url) {
9091 public static Image getGifImage (URL url ) {
9192 try (InputStream is = url .openStream ()) {
9293 BufferedImage bufferedImage = ImageIO .read (is );
93- return Image . getInstance (bufferedImage , null , false );
94+ return getImage (bufferedImage , Image . ORIGINAL_GIF );
9495 } catch (Exception e ) {
9596 throw new ExceptionConverter (e );
9697 }
@@ -99,7 +100,7 @@ public static Image getGifImage(URL url) {
99100 public static Image getTiffImage (URL url ) {
100101 try (InputStream is = url .openStream ()) {
101102 BufferedImage bufferedImage = ImageIO .read (is );
102- return Image . getInstance (bufferedImage , null , false );
103+ return getImage (bufferedImage , Image . ORIGINAL_TIFF );
103104 } catch (Exception e ) {
104105 throw new ExceptionConverter (e );
105106 }
@@ -109,7 +110,7 @@ public static Image getTiffImage(URL url) {
109110 public static Image getBmpImage (URL url ) {
110111 try (InputStream is = url .openStream ()) {
111112 BufferedImage bufferedImage = ImageIO .read (is );
112- return Image . getInstance (bufferedImage , null , false );
113+ return getImage (bufferedImage , Image . ORIGINAL_BMP );
113114 } catch (Exception e ) {
114115 throw new ExceptionConverter (e );
115116 }
@@ -142,7 +143,7 @@ public static Image getJpeg2000Image(URL url) {
142143 public static Image getGifImage (byte [] imageData ) {
143144 try (InputStream is = new ByteArrayInputStream (imageData )) {
144145 BufferedImage bufferedImage = ImageIO .read (is );
145- return Image . getInstance (bufferedImage , null , false );
146+ return getImage (bufferedImage , Image . ORIGINAL_GIF );
146147 } catch (Exception e ) {
147148 throw new ExceptionConverter (e );
148149 }
@@ -151,8 +152,7 @@ public static Image getGifImage(byte[] imageData) {
151152 public static Image getPngImage (byte [] imageData ) {
152153 try (InputStream is = new ByteArrayInputStream (imageData )) {
153154 BufferedImage bufferedImage = ImageIO .read (is );
154- return Image .getInstance (bufferedImage , null , false );
155-
155+ return getImage (bufferedImage , Image .ORIGINAL_PNG );
156156 } catch (Exception e ) {
157157 throw new ExceptionConverter (e );
158158 }
@@ -169,8 +169,7 @@ public static Image getWMFImage(byte[] imageData) {
169169 public static Image getBmpImage (byte [] imageData ) {
170170 try (InputStream is = new ByteArrayInputStream (imageData )) {
171171 BufferedImage bufferedImage = ImageIO .read (is );
172- return Image .getInstance (bufferedImage , null , false );
173-
172+ return getImage (bufferedImage , Image .ORIGINAL_BMP );
174173 } catch (Exception e ) {
175174 throw new ExceptionConverter (e );
176175 }
@@ -185,8 +184,7 @@ public static Image getBmpImage(byte[] imageData) {
185184 public static Image getTiffImage (byte [] imageData ) {
186185 try (InputStream is = new ByteArrayInputStream (imageData )) {
187186 BufferedImage bufferedImage = ImageIO .read (is );
188- return Image .getInstance (bufferedImage , null , false );
189-
187+ return getImage (bufferedImage , Image .ORIGINAL_TIFF );
190188 } catch (Exception e ) {
191189 throw new ExceptionConverter (e );
192190 }
@@ -216,4 +214,9 @@ public static Image getJpeg2000Image(byte[] imageData) {
216214 }
217215 }
218216
217+ private static Image getImage (BufferedImage bufferedImage , int originalType ) throws IOException {
218+ Image image = Image .getInstance (bufferedImage , null , false );
219+ image .setOriginalType (originalType );
220+ return image ;
221+ }
219222}
0 commit comments