找出图像中唯一的颜色?

时间:2012-03-29 15:47:39

标签: colors background

我的图像只是一种颜色? (它可能是1x1图像或1900x1200图像仍然是一种颜色)

我如何知道哪种颜色?

例如,您可以认为图像是黑色的,但是您会知道它确实存在 “020201”

或者你认为图像是某种红色,但我需要知道它是“FF0000”还是 “EE3030”等......

2 个答案:

答案 0 :(得分:1)

您是尝试使用编程语言确定颜色,还是使用工具/应用程序来确定颜色?

工具

如果您可以使用工具或应用程序,请使用大多数图形程序中提供的“滴管”或“颜色选择器”工具。

  • 如果你在Windows上,Paint.NET是一个方便(免费)的应用程序,带有Color Picker工具。使用它来选择颜色,然后单击颜色窗口中的“更多”按钮以查看十六进制值。
  • 如果你更愿意使用你的浏览器,谷歌你的浏览器的名称与“吸管”的插件,应该做的伎俩。例如:“Chrome eye dropper”

<强>代码

对于以下片段,假设文件是对图像文件的引用,并且您要检查的像素的坐标为 x y

  • 在Java中:

    BufferedImage image = ImageIO.read(file);
    int rgb = image.getRGB(x,y);
    String hex = Integer.toHexString(rgb);
    
  • 在PHP中:

    $image = imagecreatefrompng(file); // or use imagecreatefromjpeg(), etc.
    $rgb = imagecolorat($image, x, y);
    $hex = dechex($rgb);
    
  • 在C#中:

    Bitmap image = new Bitmap(file);
    Color rgb = image.GetPixel(x, y);
    String hex = System.Drawing.ColorTranslator.ToHtml(rgb);
    

答案 1 :(得分:0)

取决于:

  • 以十六进制编辑器打开图像
  • 采用具有跨应用程序边界的颜色选择器的程序
  • 查看SDL文档
  • 查看Qt文档
  • 查看Windows API文档
  • 查看处理文档
  • 查看您的编程语言文档
  • 查看创建图片的代码
  • 查看传输图像的tcp数据包
  • 查看wxWidgets文档
  • 打印图像并获得光谱仪
  • 查看X文档
  • 查看GTK文档
  • 查看KDE文档
  • 查看DirectFB文档
  • 查看DirectX文档
  • 查看OpenGL文档
  • 查看OpenRT文档
  • 查看Lux Render文档
  • 查看PBRT文档
  • 查看Blender文档
  • 查看Reyes文档
  • 查看VTK文档
  • 查看ITK文档

希望这有帮助。