Как выбрать доминирующий цвет на изображении, недоступном для рисования на Android - PullRequest
0 голосов
/ 03 августа 2020

Это мое действие по поиску доминирующего цвета

  public class Main3Activity extends AppCompatActivity {  
        private Bitmap bitmap;
        private Palette.Swatch vibrantSwatch;
        private Palette.Swatch lightVibrantSwatch;
        private Palette.Swatch darkVibrantSwatch;
        Uri image_uri;
        ImageView mImageView;
        CheckBox checkBox1, checkBox2, checkBox3;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            mImageView = findViewById(R.id.image_view);             
            checkBox1 = findViewById(R.id.checkBox);
            checkBox2 = findViewById(R.id.checkBox2);
            checkBox3 = findViewById(R.id.checkBox3);
        }

Это результат захвата

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        //// show image
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            mImageView.setImageURI(image_uri);
        }

Я хочу показать доминирующий цвет на фоне флажка

Этот метод I установить фон флажка

    private void extractProminentColors(Bitmap bitmap){
            int defaultColor = 0x000000;
            Palette p = Palette.from(bitmap).generate();
            int VibrantColor = p.getVibrantColor(defaultColor);
            checkBox1.setBackgroundColor(VibrantColor);
            int VibrantColorDark = p.getDarkVibrantColor(defaultColor);
            checkBox2.setBackgroundColor(VibrantColorDark);
            int VibrantColorLight = p.getLightVibrantColor(defaultColor);
            checkBox3.setBackgroundColor(VibrantColorLight);
        }

1 Ответ

0 голосов
/ 03 августа 2020

Вы можете получить растровое изображение из URI

MediaStore.Images.Media.getBitmap(contentResolver, imageUri)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...