Android图片设置为红色

本文介绍了一种在项目中设置指纹图片颜色的方法,通过使用setColorFilter方法成功将指纹图片的颜色设置为红色,解决了项目中的一项需求。

因为项目中有一个需求设置采集指纹仪的图片设置到ImageView图片为红色,各种处理图片没有解决,今天终于解决了,记录一下。

mFingerprintImage.setColorFilter(new LightingColorFilter(0xffffff, 0xcc0000));

RGB颜色设置可以参考http://www.atool88.com/colorpicker.php获取

 

Android 中,为 ImageView 设置图片颜色可以通过以下几种常见方法实现: ### 使用 ColorFilter 可以通过 `setColorFilter` 方法为 ImageView 设置颜色滤镜,从而改变图片的颜色。示例代码如下: ```java import android.graphics.Color; import android.graphics.PorterDuff; import android.os.Bundle; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = findViewById(R.id.imageView); // 设置颜色滤镜 imageView.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN); } } ``` 在上述代码中,`Color.RED` 表示要设置的颜色,`PorterDuff.Mode.SRC_IN` 是混合模式,它决定了颜色滤镜如何与原始图片进行混合。 ### 使用 Tint 从 Android 5.0(API 级别 21)开始,可以使用 `android:tint` 属性在 XML 布局文件中为 ImageView 设置颜色,或者在 Java 代码中使用 `setImageTintList` 方法。 #### XML 布局文件中设置 ```xml <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/your_image" android:tint="@color/your_color" /> ``` #### Java 代码中设置 ```java import android.content.res.ColorStateList; import android.os.Bundle; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = findViewById(R.id.imageView); // 设置颜色 imageView.setImageTintList(ColorStateList.valueOf(getResources().getColor(R.color.your_color))); } } ``` ### 使用 Bitmap 处理 可以通过创建一个新的 Bitmap 并为其每个像素设置颜色,然后将新的 Bitmap 设置给 ImageView。示例代码如下: ```java import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = findViewById(R.id.imageView); // 获取原始 Bitmap Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image); // 创建一个新的 Bitmap Bitmap coloredBitmap = Bitmap.createBitmap(originalBitmap.getWidth(), originalBitmap.getHeight(), originalBitmap.getConfig()); Canvas canvas = new Canvas(coloredBitmap); Paint paint = new Paint(); paint.setColor(Color.RED); // 绘制颜色到新的 Bitmap canvas.drawBitmap(originalBitmap, 0, 0, paint); // 设置新的 Bitmap 给 ImageView imageView.setImageBitmap(coloredBitmap); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值