1
2 package org.freehep.graphicsio.gif;
3
4 import java.util.Locale;
5 import java.util.Properties;
6
7 import javax.imageio.ImageWriteParam;
8
9 import org.freehep.graphicsio.ImageParamConverter;
10 import org.freehep.util.UserProperties;
11
12
13
14
15
16 public class GIFImageWriteParam extends ImageWriteParam implements
17 ImageParamConverter {
18
19 private boolean quantizeColors;
20
21 private String quantizeMode;
22
23 public GIFImageWriteParam(Locale locale) {
24 super(locale);
25 canWriteProgressive = true;
26 progressiveMode = MODE_DEFAULT;
27
28 UserProperties def = new UserProperties(GIFGraphics2D
29 .getDefaultProperties());
30 quantizeColors = def.isProperty(GIFGraphics2D.QUANTIZE_COLORS);
31 quantizeMode = def.getProperty(GIFGraphics2D.QUANTIZE_MODE);
32 }
33
34 public ImageWriteParam getWriteParam(Properties properties) {
35 UserProperties p = new UserProperties(properties);
36 setQuantizeColors(p.isProperty(GIFGraphics2D.QUANTIZE_COLORS));
37 setQuantizeMode(p.getProperty(GIFGraphics2D.QUANTIZE_COLORS));
38 return this;
39 }
40
41 public boolean getQuantizeColors() {
42 return quantizeColors;
43 }
44
45 public void setQuantizeColors(boolean state) {
46 quantizeColors = state;
47 }
48
49 public String[] getQuantizeModes() {
50 return GIFExportFileType.quantizeModes;
51 }
52
53 public String getQuantizeMode() {
54 return quantizeMode;
55 }
56
57 public void setQuantizeMode(String mode) {
58 quantizeMode = mode;
59 }
60 }