Android 最完美的取色盘ColorPickView

来源:互联网 发布:网络教育学生档案 编辑:程序博客网 时间:2024/06/11 09:38

前言:
1.第一眼看到取色盘功能时,一脸懵逼。
2.百度一番之后,有用张图片来代替取色盘,用Bitmap.getPixel()功能取色,的确可以。但瑕疵太大。比如,图片的RGB分布远不如HSV模型用代码写的取色盘那样细腻,无法反向定位(根据颜色值定位到像素点)。
3.由于时间紧,将就着用了一个月,经常感觉取值不标准,就决心自己写了一个,考虑到网上还没有类似完整功能的取色盘,所以分享给大家。

当然要谢谢前辈们指点:
1.HSV模型了解

项目代码注释写的很详细,地址:
https:

截图:
这里写图片描述

根据该开源项目,可以完成各种跟取色盘相关的功能

10 秒钟将取色盘功能加入到你的项目中

1. build添加

allprojects {    repositories {        maven { url 'https://jitpack.io' }    }}
 compile '

2.xml中引入

   <com.        android:id="@+id/color_picker_view"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:gravity="center"        colorpicker:center_color="#FFFFFF"        colorpicker:center_radius="10dp"        colorpicker:circle_radius="150dp" />
<declare-styleable name="color_picker">        <!-- 背景圆的半径 -->        <attr name="circle_radius" format="dimension" />        <!-- 可滑动小球的半径 -->        <attr name="center_radius" format="dimension" />        <!-- 可滑动小球的颜色 -->        <attr name="center_color" format="color" />    </declare-styleable>

3.activity中调用

public class MainActivity extends Activity {    private TextView txtColor;    private ColorPickView myView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        myView = (ColorPickView) findViewById(R.id.color_picker_view);        txtColor = (TextView) findViewById(R.id.txt_color);        //根据颜色值,定位到像素点        myView.setPaintPixel(Color.rgb(255, 0, 0));        myView.setOnColorChangedListener(new ColorPickView.OnColorChangedListener() {            @Override            public void onColorChange(int color) {                //得到颜色值,进行操作                txtColor.setTextColor(color);                int r = Color.red(color);                int g = Color.green(color);                int b = Color.blue(color);                txtColor.setText((r + "," + g + "," + b));                Log.i("info", "color:" + color);            }        });    }}

**欢迎start,

阅读全文
0 0
原创粉丝点击