01: /**
02: * Caption: Zaval Java Resource Editor
03: * $Revision: 0.37 $
04: * $Date: 2002/03/28 9:24:42 $
05: *
06: * @author: Victor Krapivin
07: * @version: 1.3
08: *
09: * Zaval JRC Editor is a visual editor which allows you to manipulate
10: * localization strings for all Java based software with appropriate
11: * support embedded.
12: *
13: * For more info on this product read Zaval Java Resource Editor User's Guide
14: * (It comes within this package).
15: * The latest product version is always available from the product's homepage:
16: * http://www.zaval.org/products/jrc-editor/
17: * and from the SourceForge:
18: * http://sourceforge.net/projects/zaval0002/
19: *
20: * Contacts:
21: * Support : support@zaval.org
22: * Change Requests : change-request@zaval.org
23: * Feedback : feedback@zaval.org
24: * Other : info@zaval.org
25: *
26: * Copyright (C) 2001-2002 Zaval Creative Engineering Group (http://www.zaval.org)
27: *
28: * This program is free software; you can redistribute it and/or
29: * modify it under the terms of the GNU General Public License
30: * (version 2) as published by the Free Software Foundation.
31: *
32: * This program is distributed in the hope that it will be useful,
33: * but WITHOUT ANY WARRANTY; without even the implied warranty of
34: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35: * GNU General Public License for more details.
36: *
37: * You should have received a copy of the GNU General Public License
38: * along with this program; if not, write to the Free Software
39: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
40: *
41: */package org.zaval.awt.image;
42:
43: import java.io.*;
44: import java.awt.image.*;
45:
46: // BMP Header, Win3.1 and on ( version 3 BMP )
47: // BMP Palette
48:
49: class BMP_Palette {
50: private ColorModel cm;
51: public int readBytes = 0;
52:
53: public ColorModel getColorModel() {
54: return cm;
55: }
56:
57: public BMP_Palette(int numcolors, BMP_InputStream in, int pixsize)
58: throws IOException {
59: if (pixsize == 24 || pixsize == 16) {
60: cm = new DirectColorModel(24, 0x000000ff, 0x0000ff00,
61: 0x00ff0000);
62: return;
63: }
64:
65: byte red[] = new byte[numcolors];
66: byte green[] = new byte[numcolors];
67: byte blue[] = new byte[numcolors];
68:
69: for (int i = 0; i < numcolors; i++) {
70: blue[i] = (byte) in.read();
71: green[i] = (byte) in.read();
72: red[i] = (byte) in.read();
73: in.read();
74: }
75:
76: cm = new IndexColorModel(pixsize, numcolors, red, green, blue);
77: readBytes = 3 + numcolors * 4;
78: }
79: }
|