android – 如何根据十六进制颜色代码给出颜色名称?

android – 如何根据十六进制颜色代码给出颜色名称?,第1张

概述我有一个代码,只能在图像上的触摸像素上给出十六进制代码. 现在我想给出颜色的名称. 这怎么可能使用 Android?请建议一个方法. public boolean onTouch(View v, MotionEvent event) { // get x coordinates int x = (int) event.getX(); 我有一个代码,只能在图像上的触摸像素上给出十六进制代码.
现在我想给出颜色的名称.
这怎么可能使用 Android?请建议一个方法.

public boolean ontouch(VIEw v,MotionEvent event) {                // get x coordinates                int x = (int) event.getX();                // get y coordinates                int y = (int) event.getY();                // get bitmap in touch Listener                final Bitmap bitmap = ((BitmapDrawable) image.getDrawable()).getBitmap();                //xand y coordinates stored in to pixel                int pixel = bitmap.getPixel(x,y);                //RGB values                redValue = color.red(pixel);                blueValue = color.blue(pixel);                greenValue = color.green(pixel);                 selected_colour.setText(""+redValue+""+blueValue+""+greenValue);                selected_colour.setText("touched color:" + "#" + Integer.toHexString(redValue) + Integer.toHexString(greenValue) + Integer.toHexString(blueValue));                selected_colour.setTextcolor(pixel);                return false;            }        });
解决方法 你要求的是有点棘手,因为尽管有许多颜色的名字被广泛认同(例如,FFFFFF被称为“白色”无处不在),但大多数其他颜色名称不是全球惯例,而是由正在命名颜色的特定人员.

话虽如此,有几种工具可以做到这一点.查看this link,这是一个可以提供十六进制代码颜色的网站,它将根据最接近的预定义颜色名称列表命名.

您可以查看javascript code并将其改编为AndroID.这是一个非常简单的算法,它通过测量RGB和HSL中的距离来测量您给预定义颜色列表中最近命中的颜色的距离.

总结

以上是内存溢出为你收集整理的android – 如何根据十六进制颜色代码给出颜色名称?全部内容,希望文章能够帮你解决android – 如何根据十六进制颜色代码给出颜色名称?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存