Tôi muốn thêm một ColorFilter
vào ImageView
.tôi muốn thêm bộ lọc màu vào hình ảnh thu nhỏ
Hiện nay tôi đang sử dụng:
ImageView iv = (ImageView)findViewById(resIdOfImageToFilter);
iv.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
Tôi đã kiểm tra Nhiều chế độ trong PotterDuff
như SRC_IN
, SRC
vv, nhưng tôi không nhận được bất kỳ sự khác biệt trong bất kỳ chế độ ... Tất cả chế độ biến toàn bộ ImageView
bằng màu đỏ hoàn hảo.
tôi cần để pha trộn màu RED trong hình ảnh hiện có để hình ảnh đó sẽ xem xét với một ánh đỏ ....
oops ... đúng cách cần làm là PorterDuff.Mode.Lighten ... –
Đó là vì không có kênh alpha (tức là minh bạch) trong hình ảnh của bạn.Thông thường 'setColorFilter()' được sử dụng để tô màu các biểu tượng, và trên thực tế, hành vi mặc định là tô màu tất cả hình ảnh chỉ giữ lại kênh alpha. Thay vào đó, 'PorterDuff.Mode.LIGHTEN' giữ độ sáng, vì vậy các phần màu của hình ảnh của bạn chuyển sang màu đỏ và các phần màu trắng sẽ bị bỏ lại. –