src/demo/share/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConvertOpTests.java

Print this page




  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