43 import java.awt.Color;
44 import java.awt.Graphics2D;
45 import java.awt.Image;
46 import java.awt.color.ColorSpace;
47 import java.awt.image.BufferedImage;
48 import java.awt.image.ColorConvertOp;
49 import java.awt.image.Raster;
50 import java.awt.image.WritableRaster;
51
52 import javax.imageio.ImageIO;
53
54 import j2dbench.Group;
55 import j2dbench.Option;
56 import j2dbench.Result;
57 import j2dbench.TestEnvironment;
58 import j2dbench.tests.iio.IIOTests;
59
60 public class ColorConvertOpTests extends ColorConversionTests {
61
62 private static class ImageContent {
63 static ImageContent BLANK = new ImageContent("bank", "Blank (opaque black)");
64 static ImageContent RANDOM = new ImageContent("random", "Random");
65 static ImageContent VECTOR = new ImageContent("vector", "Vector Art");
66 static ImageContent PHOTO= new ImageContent("photo", "Photograph");
67
68 public final String name;
69 public final String descr;
70
71 private ImageContent(String name, String descr) {
72 this.name = name;
73 this.descr = descr;
74 }
75
76 public static ImageContent[] values() {
77 return new ImageContent[]{BLANK, RANDOM, VECTOR, PHOTO};
78 }
79 }
80
81 private static class ImageType {
82 static ImageType INT_ARGB = new ImageType(BufferedImage.TYPE_INT_ARGB, "INT_ARGB", "TYPE_INT_ARGB");
83 static ImageType INT_RGB = new ImageType(BufferedImage.TYPE_INT_RGB, "INT_RGB", "TYPE_INT_RGB");
84 static ImageType INT_BGR = new ImageType(BufferedImage.TYPE_INT_BGR, "INT_BGR", "TYPE_INT_BGR");
85 static ImageType BYTE_3BYTE_BGR = new ImageType(BufferedImage.TYPE_3BYTE_BGR, "3BYTE_BGR", "TYPE_3BYTE_BGR");
86 static ImageType BYTE_4BYTE_ABGR = new ImageType(BufferedImage.TYPE_4BYTE_ABGR, "4BYTE_BGR", "TYPE_4BYTE_BGR");
87 static ImageType COMPATIBLE_DST = new ImageType(0, "Compatible", "Compatible destination");
88
89 private ImageType(int type, String abbr, String descr) {
90 this.type = type;
91 this.abbrev = abbr;
92 this.descr = descr;
93 }
94
95 public final int type;
96 public final String abbrev;
97 public final String descr;
98
99 public static ImageType[] values() {
100 return new ImageType[]{INT_ARGB, INT_RGB, INT_BGR,
101 BYTE_3BYTE_BGR, BYTE_4BYTE_ABGR, COMPATIBLE_DST};
102 }
103 }
104
105 private static class ListType {
106 static ListType SRC = new ListType("srcType", "Source Images");
113 public final String name;
114 public final String description;
115 }
116
117 public static Option createImageTypeList(ListType listType) {
118
119 ImageType[] allTypes = ImageType.values();
120
121 int num = allTypes.length;
122 if (listType == ListType.SRC) {
123 num -= 1; // exclude compatible destination
124 }
125
126 ImageType[] t = new ImageType[num];
127 String[] names = new String[num];
128 String[] abbrev = new String[num];
129 String[] descr = new String[num];
130
131 for (int i = 0; i < num; i++) {
132 t[i] = allTypes[i];
133 names[i] = t[i].toString();
134 abbrev[i] = t[i].abbrev;
135 descr[i] = t[i].descr;
136 }
137
138 Option list = new Option.ObjectList(opOptionsRoot,
139 listType.name, listType.description,
140 names, t, abbrev, descr, 1);
141 return list;
142 }
143
144 protected static Group opConvRoot;
145
146 protected static Group opOptionsRoot;
147 protected static Option sizeList;
148 protected static Option contentList;
149
150 protected static Option sourceType;
151
152 protected static Option destinationType;
153
|
43 import java.awt.Color;
44 import java.awt.Graphics2D;
45 import java.awt.Image;
46 import java.awt.color.ColorSpace;
47 import java.awt.image.BufferedImage;
48 import java.awt.image.ColorConvertOp;
49 import java.awt.image.Raster;
50 import java.awt.image.WritableRaster;
51
52 import javax.imageio.ImageIO;
53
54 import j2dbench.Group;
55 import j2dbench.Option;
56 import j2dbench.Result;
57 import j2dbench.TestEnvironment;
58 import j2dbench.tests.iio.IIOTests;
59
60 public class ColorConvertOpTests extends ColorConversionTests {
61
62 private static class ImageContent {
63 static ImageContent BLANK = new ImageContent("blank", "Blank (opaque black)");
64 static ImageContent RANDOM = new ImageContent("random", "Random");
65 static ImageContent VECTOR = new ImageContent("vector", "Vector Art");
66 static ImageContent PHOTO= new ImageContent("photo", "Photograph");
67
68 public final String name;
69 public final String descr;
70
71 private ImageContent(String name, String descr) {
72 this.name = name;
73 this.descr = descr;
74 }
75
76 public static ImageContent[] values() {
77 return new ImageContent[]{BLANK, RANDOM, VECTOR, PHOTO};
78 }
79 }
80
81 private static class ImageType {
82 static ImageType INT_ARGB = new ImageType(BufferedImage.TYPE_INT_ARGB, "INT_ARGB", "TYPE_INT_ARGB");
83 static ImageType INT_RGB = new ImageType(BufferedImage.TYPE_INT_RGB, "INT_RGB", "TYPE_INT_RGB");
84 static ImageType INT_BGR = new ImageType(BufferedImage.TYPE_INT_BGR, "INT_BGR", "TYPE_INT_BGR");
85 static ImageType BYTE_3BYTE_BGR = new ImageType(BufferedImage.TYPE_3BYTE_BGR, "3BYTE_BGR", "TYPE_3BYTE_BGR");
86 static ImageType BYTE_4BYTE_ABGR = new ImageType(BufferedImage.TYPE_4BYTE_ABGR, "4BYTE_ABGR", "TYPE_4BYTE_ABGR");
87 static ImageType COMPATIBLE_DST = new ImageType(0, "Compatible", "Compatible destination");
88
89 private ImageType(int type, String abbr, String descr) {
90 this.type = type;
91 this.abbrev = abbr;
92 this.descr = descr;
93 }
94
95 public final int type;
96 public final String abbrev;
97 public final String descr;
98
99 public static ImageType[] values() {
100 return new ImageType[]{INT_ARGB, INT_RGB, INT_BGR,
101 BYTE_3BYTE_BGR, BYTE_4BYTE_ABGR, COMPATIBLE_DST};
102 }
103 }
104
105 private static class ListType {
106 static ListType SRC = new ListType("srcType", "Source Images");
113 public final String name;
114 public final String description;
115 }
116
117 public static Option createImageTypeList(ListType listType) {
118
119 ImageType[] allTypes = ImageType.values();
120
121 int num = allTypes.length;
122 if (listType == ListType.SRC) {
123 num -= 1; // exclude compatible destination
124 }
125
126 ImageType[] t = new ImageType[num];
127 String[] names = new String[num];
128 String[] abbrev = new String[num];
129 String[] descr = new String[num];
130
131 for (int i = 0; i < num; i++) {
132 t[i] = allTypes[i];
133 names[i] = t[i].abbrev;
134 abbrev[i] = t[i].abbrev;
135 descr[i] = t[i].descr;
136 }
137
138 Option list = new Option.ObjectList(opOptionsRoot,
139 listType.name, listType.description,
140 names, t, abbrev, descr, 1);
141 return list;
142 }
143
144 protected static Group opConvRoot;
145
146 protected static Group opOptionsRoot;
147 protected static Option sizeList;
148 protected static Option contentList;
149
150 protected static Option sourceType;
151
152 protected static Option destinationType;
153
|