下面列出了java.awt.image.ShortLookupTable#java.awt.image.LookupTable 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
public static void main(String[] args) {
LookupTable tbl = createReverseTable();
LookupOp op = new LookupOp(tbl, null);
for (ImageType t : ImageType.values()) {
System.out.print(t);
BufferedImage src = createSourceImage(t);
BufferedImage dst = op.filter(src, null);
int rgb = dst.getRGB(0, 0);
System.out.printf(" Result: 0x%X ", rgb);
if (rgb != argbReverse) {
throw new RuntimeException("Test failed.");
}
System.out.println("Passed.");
}
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
private void buildLookupOpTab(JTabbedPane tabbedPane) {
BufferedImage dstImage = null;
short[] data = new short[256];
for (int i = 0; i < 256; i++) {
data[i] = (short) (255 - i);
}
LookupTable lookupTable = new ShortLookupTable(0, data);
LookupOp op = new LookupOp(lookupTable, null);
dstImage = op.filter(sourceImage, null);
tabbedPane.add("Lookup", new JLabel(new ImageIcon(dstImage)));
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
/**
* Reverse image color components, leave alpha unchanged.
*/
private static LookupTable createReverseTable() {
byte[] data = new byte[256];
for (int i = 0; i < 256; i++) {
data[i] = (byte) (255 - i);
}
return new ByteLookupTable(0, data);
}
private static BufferedImage colorExtractChannel(BufferedImage src, BufferedImage dest, int channel) {
LookupTable lookupTable;
switch (channel) {
case RED_CHANNEL:
lookupTable = LookupFactory.createLookupForOnlyRed();
break;
case REMOVE_RED_CHANNEL:
lookupTable = LookupFactory.createLookupForRemoveRed();
break;
case GREEN_CHANNEL:
lookupTable = LookupFactory.createLookupForOnlyGreen();
break;
case REMOVE_GREEN_CHANNEL:
lookupTable = LookupFactory.createLookupForRemoveGreen();
break;
case BLUE_CHANNEL:
lookupTable = LookupFactory.createLookupForOnlyBlue();
break;
case REMOVE_BLUE_CHANNEL:
lookupTable = LookupFactory.createLookupForRemoveBlue();
break;
default:
throw new IllegalStateException("should not het here");
}
BufferedImageOp filterOp = new FastLookupOp((ShortLookupTable) lookupTable);
filterOp.filter(src, dest);
return dest;
}
public static LookupTable createLookupForRemoveRed() {
short[][] lookupData = new short[3][256];
lookupData[0] = getNullMapping();
lookupData[1] = getDefaultMapping();
lookupData[2] = getDefaultMapping();
return new ShortLookupTable(0, lookupData);
}
public static LookupTable createLookupForOnlyRed() {
short[][] lookupData = new short[3][256];
lookupData[0] = getDefaultMapping();
lookupData[1] = getNullMapping();
lookupData[2] = getNullMapping();
return new ShortLookupTable(0, lookupData);
}