获得带倒影的图片
?//获得带倒影的图片?? ?public static Bitmap createReflectionImageWithOrigin(Bitmap bitmap){ ??? ? ? ?final int reflectionGap = 4; ??? ? ? ?int width = bitmap.getWidth(); ??? ? ? ?int height = bitmap.getHeight(); ??? ? ? ? ??? ? ? ?Matrix matrix = new Matrix(); ??? ? ? ?matrix.preScale(1, -1); ??? ? ? ? ??? ? ? ?Bitmap reflectionImage = Bitmap.createBitmap(bitmap, ???? ? ? ? ? ? ? ?0, height/2, width, height/2, matrix, false); ??? ? ? ? ??? ? ? ?Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height/2), Config.ARGB_8888); ??? ? ? ? ??? ? ? ?Canvas canvas = new Canvas(bitmapWithReflection); ??? ? ? ?canvas.drawBitmap(bitmap, 0, 0, null); ??? ? ? ?Paint deafalutPaint = new Paint(); ??? ? ? ?canvas.drawRect(0, height,width,height + reflectionGap, ??? ? ? ? ? ? ? ?deafalutPaint); ??? ? ? ? ??? ? ? ?canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null); ??? ? ? ? ??? ? ? ?Paint paint = new Paint(); ??? ? ? ?LinearGradient shader = new LinearGradient(0, ??? ? ? ? ? ? ? ?bitmap.getHeight(), 0, bitmapWithReflection.getHeight() ??? ? ? ? ? ? ? ?+ reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); ??? ? ? ?paint.setShader(shader); ??? ? ? ?// Set the Transfer mode to be porter duff and destination in ??? ? ? ?paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); ??? ? ? ?// Draw a rectangle using the paint with our linear gradient ??? ? ? ?canvas.drawRect(0, height, width, bitmapWithReflection.getHeight() ??? ? ? ? ? ? ? ?+ reflectionGap, paint); ?????? ? ? ?return bitmapWithReflection; ??? ?} ?