Android 最完美的取色盘ColorPickView - Go语言中文社区

Android 最完美的取色盘ColorPickView


前言:
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,

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sinat_27033869/article/details/73872318
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 22:14:47
  • 阅读 ( 1438 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢