Processing 图像解码器返回þ的处理代码

Processing 图像解码器返回þ的处理代码,processing,decoder,Processing,Decoder,我试图为处理中的图像制作一个解码器,但无论我输入什么,它都会返回þ。非常感谢您的帮助 无效设置{ //尺寸2555255; 彩色模式HSB; 字符串结果=解码; 打印结果; saveStringsoutput.txt,新字符串[]{result}; } 字符串解码{ PImage img=loadImagecode.png; //图像img,0,0; img.loadPixels; 解码字符串=; int[]字符=新的int[255*255]; 对于int i=0;i

我试图为处理中的图像制作一个解码器,但无论我输入什么,它都会返回þ。非常感谢您的帮助

无效设置{ //尺寸2555255; 彩色模式HSB; 字符串结果=解码; 打印结果; saveStringsoutput.txt,新字符串[]{result}; } 字符串解码{ PImage img=loadImagecode.png; //图像img,0,0; img.loadPixels; 解码字符串=; int[]字符=新的int[255*255]; 对于int i=0;i<255;i++{ 对于int j=0;j<255;j++{ color col=img.pixels[i*255+j];//geti,j; 如果huecol==0&&saturationcol==0{ chars[floorhuecol*255+饱和col]=j; printlncharj; } } } 解码=新字符串字符,0,字符长度; 字符串[]列表=已解码。拆分\u0000; StringBuilder=新的StringBuilder; 对于字符串:列表{ builder.appendstring; } 解码=builder.toString; 返回解码; }
如果huecol==0&&saturationcol==0{
下一行的huecol和saturationcol始终为0。这意味着您始终在执行chars[0]=j;,并且最终结果只有一个字符,即您描述的字符。

请。哪一行代码的行为与您预期的不同?我认为是chars[floorhuecol*255+saturationcol]=j;听起来是个不错的开始。那一行上每个变量的值是多少?将那一行分解为更小的单独步骤,这样你就能准确地理解它在做什么。你希望那一行代码做什么?它做什么?它应该按照色调和饱和度对像素的x值对应的字符进行排序不管我放了什么,它都会返回。谢谢!这就解决了问题。