china_hgb
2016-02-11 22:28
采纳率: 100%
浏览 2.8k
已采纳

安卓中的ImageView控件的背景透明

请问如何在安卓中将ImageView控件动态加载的图片的背景去掉?image.setAlpha(0)不起作用?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 林深 2016-02-12 02:23
    已采纳

    第一个问题:
    图片背景透明是由图片本身决定的,一般使用png格式的图片,因为具有透明属性,而且需要事先用工具将背景弄成透明的才行。
    当然,你实在是不想事先就用透明图,你也可以对bitmap进行处理,因为你可以将图片加载成为bitmap,而bitmap是可以进行色值的编辑的,bitmap是一个位图,你可以一位一位去进行色彩处理,比如说你指定红色ARGB(255,255,0,0)为透明色,那么,你在处理的时候只需要将所有的红色转化为(0,0,0,0)就行了(其中A表示的是透明度,改成0就行了),你可以通过bitmap.getPixel(int x,int y),获取每个位的色值,再通过bitmap.setPixel(int x,int y,int color)来设置这个位的色值。通过这个,你可以随便改透明,当然,你改A的值的时候也能够改透明度。

    第二个问题:
    image.setAlpha(0)这个image应该是ImageView是吧,那么你这个操作会将这个ImageView一整个变成透明,不只是图片的背景哦,这个效果和image.setVisibility(View.INVISIBLE)是一样的

    点赞 评论
  • blownewbee 2016-02-11 22:59

    image.setAlpha(0)应该就可以了,但是你必须保证图片本身背景是透明的,你可以用photoshop打开看下。

    点赞 评论
  • blownewbee 2016-02-11 23:00

    确保你的图片是png等具有透明颜色分量的格式,如果用ps打开你的图片,在你的空白处显示的是灰色和白色交替的小色块,那么就说明图片是透明的。

    点赞 评论

相关推荐 更多相似问题