#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. Так что же я буду делать, любезно Помогите мне