现在我想给出颜色的名称.
这怎么可能使用 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 – 如何根据十六进制颜色代码给出颜色名称?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)