我试图改变红色或任何其他图像的颜色,我编写了以下代码,但在运行我的应用程序后,我的模拟器中不会发生任何事情我的代码是
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);
}
}
我的模拟器在这里显示了这个更好的图像描述
我的重点是得到这个结果输入图片描述
实现这一目标的一种方法是使用ColorFilter
。
ColorFilter overlay = new PorterDuffColorFilter(Color.YELLOW, PorterDuff.Mode.OVERLAY);
Drawable drawable = imageView.getBackground();
drawable.setColorFilter(overlay);
imageView.setBackground(drawable);