Android png图片透明度的问题

来源:互联网 发布:java开发合同管理系统 编辑:程序博客网 时间:2024/04/30 07:05

关于alpha通道的问题  想看这篇文章 http://blog.csdn.net/id19870510/article/details/53925746

素材图片



Drawable转换为Bitmap实现

public static Bitmap convertDrawable2BitmapByCanvas(Drawable drawable) {Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), //drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap);// canvas.setBitmap(bitmap);drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());drawable.draw(canvas);return bitmap;}

当BitmapFactory发觉图片资源带有alpha通道,它便只能将图片解码为32位的ARGB888位图。否则转换为16位不带alpha通道的RGB565

可以用以下方法直接转换

canvas.drawBitmap(((BitmapDrawable) (getResources().getDrawable(R.drawable.scan_line_24))).getBitmap(), null, lineRect, paint);

如果素材图片有问题的话, 加载出来会直接不显示alpha通道,显示为白色

这个时候让UI设计师妹子出了一个24位带alpha通道的图片 问题解决






0 0
原创粉丝点击