OSDN Git Service

dmg作成バージョンの取得方法の修正
[charactermanaj/CharacterManaJ.git] / src / charactermanaj / graphics / io / LoadedImage.java
1 package charactermanaj.graphics.io;\r
2 \r
3 import java.awt.image.BufferedImage;\r
4 import java.awt.image.DataBuffer;\r
5 \r
6 /**\r
7  * ロードされたイメージ情報\r
8  * @author seraphy\r
9  */\r
10 public final class LoadedImage {\r
11 \r
12         private final BufferedImage image;\r
13 \r
14         private final long lastModified;\r
15 \r
16         private final int imageSize;\r
17 \r
18         public LoadedImage(BufferedImage image, long lastModified) {\r
19                 this.image = image;\r
20                 this.lastModified = lastModified;\r
21                 this.imageSize = getBufferSize(image);\r
22         }\r
23 \r
24         public BufferedImage getImage() {\r
25                 return image;\r
26         }\r
27 \r
28         public long getLastModified() {\r
29                 return lastModified;\r
30         }\r
31 \r
32         public int getImageSize() {\r
33         return imageSize;\r
34     }\r
35 \r
36         /**\r
37          * 画像バッファのバイト数を求める.<br>\r
38          * @param image イメージ\r
39          * @return バイト数\r
40          */\r
41         private static int getBufferSize(BufferedImage image) {\r
42             if (image == null) {\r
43                 return 0;\r
44             }\r
45             DataBuffer buff = image.getRaster().getDataBuffer();\r
46             int bytes = buff.getSize() * DataBuffer.getDataTypeSize(buff.getDataType()) / 8;\r
47             return bytes;\r
48         }\r
49 }\r