引用 http://www.cnblogs.com/zhengtao/articles/1930802.htm
//放大缩小图片public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){     int width = bitmap.getWidth();     int height = bitmap.getHeight();     Matrix matrix = new Matrix();     float scaleWidht = ((float)w / width);     float scaleHeight = ((float)h / height);     matrix.postScale(scaleWidht, scaleHeight);     Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);     return newbmp;     } //将Drawable转化为Bitmappublic static Bitmap drawableToBitmap(Drawable drawable){int width = drawable.getIntrinsicWidth();int height = drawable.getIntrinsicHeight();Bitmap bitmap = Bitmap.createBitmap(width, height,drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap);drawable.setBounds(0,0,width,height);drawable.draw(canvas);return bitmap;}//获得圆角图片的方法public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output);final int color = 0xff424242;final Paint paint = new Paint();final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());final RectF rectF = new RectF(rect);paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);paint.setColor(color);canvas.drawRoundRect(rectF, roundPx, roundPx, paint);paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint);return output;}//获得带倒影的图片方法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 inpaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));// Draw a rectangle using the paint with our linear gradientcanvas.drawRect(0, height, width, bitmapWithReflection.getHeight()+ reflectionGap, paint);return bitmapWithReflection;}

更多相关文章

  1. Mtk Android(安卓)app 默认激活设备管理器
  2. android 文字图片合成
  3. android图片的旋转和缩放
  4. android如何读取项目中的图片或文件
  5. Android中集成QQ登陆和QQ空间分享
  6. Android(安卓)中的 requestWindowFeature 收藏
  7. Android(安卓)G711A 音频编解码,去除“吱吱”电流声,附上so下载地
  8. Android(安卓)使用RecyclerView的方法
  9. android,自定义dialog

随机推荐

  1. android的窗口机制分析---------类图关系
  2. Android(安卓)AIDL进程间通信(IPC)
  3. Android(安卓)Activity和Intent机制学习
  4. Android内核的简单分析
  5. 如何在Android当中显示网络图片
  6. 新Android工程src和layout目录为空的问题
  7. Android使用FrameLayout应该注意的地方
  8. Android调用WebService之客户端实现(二)
  9. Android(安卓)ContentResolver详解
  10. ArcGIS for Android(安卓)10.2.2 在IDEA