Измените цвет изображения с помощью изменения пикселей в Android studio

#java #android-studio #bitmap #imageview #pixel

Вопрос:

Я пытаюсь изменить цвет изображения на красный или любой другой, я написал следующий код, но после запуска моего приложения в моем эмуляторе ничего не произойдет, мой код

 public class MainActivity extends AppCompatActivity {

int x=0,y=0;
ImageView imViewAndroid,displayimg;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    imViewAndroid = (ImageView) findViewById(R.id.imViewAndroid);
    displayimg = (ImageView) findViewById(R.id.setimageview);

    Bitmap bitmap = ((BitmapDrawable)imViewAndroid.getDrawable()).getBitmap();
    int pixel = bitmap.getPixel(x,y);

    for(int i=0;i<imViewAndroid.getWidth();i  ){
        for(int j=0;i<imViewAndroid.getHeight();j  )
        {
             pixel=bitmap.getPixel(i,j);
             bitmap.setPixel(i,j,Color.RED);
            displayimg.setImageBitmap(bitmap);
        }

    }
 

И мой эмулятор показывает это. Введите описание изображения здесь

Я сосредоточен на том, чтобы получить это повторное описание изображения здесь

Ответ №1:

Один из способов достичь этого-использовать ColorFilter .

 ColorFilter overlay = new PorterDuffColorFilter(Color.YELLOW, PorterDuff.Mode.OVERLAY);
Drawable drawable = imageView.getBackground();
drawable.setColorFilter(overlay);
imageView.setBackground(drawable);
 

Комментарии:

1. Но, дорогой, я не использовал цветной фильтр, пожалуйста, проверьте мой код и дайте предложения

2. @CodingWithHammad Ваших желаемых изображений не так просто достичь, манипулируя пикселем за пикселем. Существует 16 777 216 цветовых вариаций 24-битных. Пусть система справится с этим.

3. Так что же я буду делать, любезно Помогите мне