Java 我需要一个图像文件来验证这个测试;if(input.getColorModel()instanceof IndexColorModel)";
为了看到下面代码的影响,我需要一个验证if测试的图像文件;你能给我不同的Java 我需要一个图像文件来验证这个测试;if(input.getColorModel()instanceof IndexColorModel)";,java,jai,Java,Jai,为了看到下面代码的影响,我需要一个验证if测试的图像文件;你能给我不同的IndexColorModel图像吗 System.out.println(input.getColorModel()); System.out.println("vvvvvv"); if (input.getColorModel() instanceof IndexColorModel) { System.out.println("eeeeeeeee"); // Retrieve the IndexCo
IndexColorModel
图像吗
System.out.println(input.getColorModel());
System.out.println("vvvvvv");
if (input.getColorModel() instanceof IndexColorModel) {
System.out.println("eeeeeeeee");
// Retrieve the IndexColorModel
IndexColorModel icm = (IndexColorModel)input.getColorModel();
// Cache the number of elements in each band of the colormap.
int mapSize = icm.getMapSize();
// Allocate an array for the lookup table data.
System.out.println("eeeeeeeee");
System.out.println(mapSize);
byte[][] lutData = new byte[3][mapSize];
// Load the lookup table data from the IndexColorModel.
icm.getReds(lutData[0]);
icm.getGreens(lutData[1]);
icm.getBlues(lutData[2]);
// Create the lookup table object.
LookupTableJAI lut = new LookupTableJAI(lutData);
// Replace the original image with the 3-band RGB image.
input = JAI.create("lookup", input, lut);
}
IndexColorModel
通常是从带有PLTE(调色板)块的GIF或PNG创建的。带有调色板的BMP文件也可以工作
尝试使用ImageIO.read(yourgf)
读取一个GIF文件,它应该会显示一个IndexColorModel
如果您可以使用固定颜色贴图,另一个选项是创建如下空白图像:
input = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_INDEXED);
但我认为对于您的用例,使用预定义的查找表创建一个新的
IndexColorModel
更简单。您不需要从输入图像获取代码。如果您希望其他人阅读代码,请格式化代码。