Java 将BuffereImage从黑色重新存储为红色不起作用
我有一个形象,我最初创造了一个时代。原始图像是黑色的。我想在程序控制下,把它改成红色。我转换或拍摄易失性图像的快照,以便将其作为缓冲区图像使用,并尝试使用LookUpTable将其恢复为红色。但是,您在下面看到的代码不起作用。图像仍然是黑色的。有人能指出哪里不对吗?我不熟悉Java下的图像处理。谢谢Java 将BuffereImage从黑色重新存储为红色不起作用,java,image-processing,graphics2d,java-2d,Java,Image Processing,Graphics2d,Java 2d,我有一个形象,我最初创造了一个时代。原始图像是黑色的。我想在程序控制下,把它改成红色。我转换或拍摄易失性图像的快照,以便将其作为缓冲区图像使用,并尝试使用LookUpTable将其恢复为红色。但是,您在下面看到的代码不起作用。图像仍然是黑色的。有人能指出哪里不对吗?我不熟悉Java下的图像处理。谢谢 private void recolorAsRed2(VolatileImage sourceImage) { short[]红色=新的short[256]; short[]绿色=新的short[
private void recolorAsRed2(VolatileImage sourceImage)
{
short[]红色=新的short[256];
short[]绿色=新的short[256];
short[]蓝色=新的short[256];
short[]alpha=新的short[256];
对于(int i=0;i<256;i++){
α[i]=1;
红色[i]=255;
绿色[i]=0;
蓝色[i]=0;
}
short[][]数据=新short[][]{
红,绿,蓝,阿尔法
};
BuffereImage dstImage=null;
LookupTable LookupTable=新的ShortLookupTable(0,数据);
LookupOp=新的LookupOp(lookupTable,null);
dstImage=op.filter(sourceImage.getSnapshot(),dstImage);
Utilities.toBufferedImage(dstImage);//这实际上将图像转换回易失性图像。方法名称不反映代码正在执行的操作。
}