如何在android中使背景透明

时间:2014-12-27 13:30:12

标签: android overlay android-canvas transparent bitmapimage

我在drawable文件夹中有两个图像,我这样做:

image = BitmapFactory.decodeResource(getResources(), R.drawable.image1);
background = BitmapFactory.decodeResource(getResources(), R.drawable.image2);


canvas.drawBitmap(background,0, 0, null);
canvas.drawBitmap(image, x, y, null);

我的照片中有白色背景,名为"图像"但我想只显示该图片的对象意味着要让背景透明。 我怎么能这样做?

5 个答案:

答案 0 :(得分:1)

您可以在绘制图像之前使画布透明。

canvas.drawColor(Color.TRANSPARENT);

答案 1 :(得分:1)

您始终可以使用透明颜色作为背景,其设置与任何可绘制颜色相同,只需使用@android:color/transparent

答案 2 :(得分:0)

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/myimage"
    android:alpha=".75"/>
Programatically, you can also set it with

int alphaAmount = 125; // some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);

答案 3 :(得分:0)

您可以创建透明drawable并将其作为View的背景。

Android使用Hex ARGB值,格式为#AARRGGBB。第一对字母AA代表Alpha通道。要设置alpha值,必须将十进制不透明度值转换为十六进制值。

这是十六进制不透明度值

  • 100% - FF
  • 95% - F2
  • 90% - E6
  • 85% - D9
  • 80% - CC
  • 75% - BF
  • 70% - B3
  • 65% - A6
  • 60% - 99
  • 55% - 8C
  • 50% - 80
  • 45% - 73
  • 40% - 66
  • 35% - 59
  • 30% - 4D
  • 25% - 40
  • 20% - 33
  • 15% - 26
  • 10% - 1A
  • 5% - 0D
  • 0% - 00

答案 4 :(得分:0)

如果你的图像有白色背景,那么你可以使用setAlpha()来绘制。 但最好的方法是你应该使用没有背景的图像。

示例:

 imageview.getDrawable().setAlpha(60);