我无法弄清楚如何在图像上应用滤镜。
在这种情况下,我希望图像更暗(黑色,40%透明度,图像顶部的图层会给我我想要的结果)。但是,如果我知道如何将图层放在任何颜色的图像上(具有一定的透明度),以使其在视觉上与应用程序的其他UI元素更加兼容,将会有所帮助(将来)。
现在的样子。
我希望它如何在应用程序上查看(上面的图像已经在Adobe Illustrator中编辑过,但是如果我使用它,即使它的大小不大,应用也会反复崩溃)
另外,我怀疑在android studio中必须有一种方法可以在不需要任何图像编辑软件的情况下完成此操作。
如果我错了,请纠正我;)
答案 0 :(得分:8)
这就是我的工作,
imageView =(ImageView) findViewById(R.id.image_view) ;
imageView.getDrawable().setColorFilter(0x76ffffff, PorterDuff.Mode.MULTIPLY );
颜色范围[0x00000000 -0xffffffff]
如果您不理解这种模式可能会对您有所帮助
红色 - 0xffff0000
绿色-0xff00ff00
蓝色 - 0xff0000ff
您的要求平均黑色为0xff555555
根据需要更改颜色代码> here
out put
更多:
setColorFilter params:(int color, PorterDuff.Mode模式)
答案 1 :(得分:1)
您可以使用对象的android:foreground
属性在任何对象上设置颜色。在这里,我使用ImageView
来显示图片,android:foreground
使用过滤器!
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/yourImage"
android:foreground="#60000000" />
</RelativeLayout>
如果你想做这个布局,那么使用android:background属性代替android:src
作为图像源。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/yourImage"
android:foreground="#60000000">
</RelativeLayout>
答案 2 :(得分:0)
试试这个:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha=".5"
android:src="@drawable/your_naruto_img"/>
</RelativeLayout>
当然,您可以通过更改android:alpha
[0 - 1]来相应地调整不透明度。
希望这有帮助!
答案 3 :(得分:0)
使用任何在线工具为较暗的图像生成9补丁图像,并在您的应用中使用该9补丁。它会起作用。
答案 4 :(得分:0)
试试这个:
System.Drawing.Bitmap
您可以将图像设置为<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/your_drawable">
<ImageView
android:id="@+id/backImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#66000000"
android:scaleType="fitXY"/>
</RelativeLayout>
的背景。使用RelativeLayout
标记并将背景设置为您要设置的imageview
颜色。
答案 5 :(得分:0)
对我有用的是
ImageView backgroundimage = FindViewById<ImageView>(Resource.Id.img_view);
backgroundimage.SetColorFilter(Color.Argb(200,0,0,0), PorterDuff.Mode.Overlay);
尝试以上所有答案后。 希望它可以帮到某人。