我的目标是:将图像的每个像素转换为十六进制代码,其中每6个符号表示颜色,并将这些代码保存在字符串中。然后我就可以检测出,哪种颜色在图片中占主导地位。
如何将图片转换为6个符号的十六进制代码(例如000000为黑色,FFFFFF为白色)?
我试过这个C代码:
using System.IO;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
...
var str = new SoapHexBinary(File.ReadAllBytes("test.png")).ToString();
Console.WriteLine("str: {0}", str);
它给了我们一个字符串(我只是粘贴了一个剪子):
89504E470D0A1A0A0000000D4948445200000026000000210806000000B538D916000000017352474200AECE1CE90000000467414D410000B18F0BFC610
我想将每6个符号解释为一个颜色代码,但例如#89504E是深粉色,我的测试图片看起来就像这样:
如何将图片转换为6位十六进制颜色代码?