Drawable转Bitmap,Bitmap#getPixel像素为0的解决办法

mac2024-06-26  47

/** * Drawable转Bitmap * * @param d Drawable * @return Bitmap */ public static Bitmap drawable2Bitmap(Drawable d) { //通常就写了这段代码,bitmap.getPixel=0 Bitmap bm = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), d.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565); //需要加上这段设置边界和绘制 Canvas cv = new Canvas(bm); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); d.draw(cv); return bm; } /** * Bitmap转Drawable * * @param b Bitmap * @return Drawable */ public static Drawable drawable2Bitmap(Bitmap b) { return new BitmapDrawable(b); }
最新回复(0)