头像的上传02
来源:互联网 发布:vb.net 窗体应用程序 编辑:程序博客网 时间:2024/03/29 15:06
调用系统相机和相册获取图片后上传到服务器,在从服务器获取展示到本地,用xutils下载,但是从相机拍照上传到服务器的图片下载下来后变成圆形时,会被压扁,从相册上传的下载就没问题。解决方法:1. xutils下载图片
BitmapUtils bitmapUtils = new BitmapUtils(Activity_SettingUpLoadavtr_show.this); bitmapUtils.display(image_avtr, avatar, new BitmapLoadCallBack<ImageView>() { @Override public void onLoadCompleted(ImageView arg0, String arg1, Bitmap arg2, BitmapDisplayConfig arg3, BitmapLoadFrom arg4) { //将图片变成圆形图片 Bitmap roundBitmap = Cicle.toRoundBitmap02(arg2); //将图片进行放大处理 Bitmap bitmapToMax = Cicle.bitmapToMax02(roundBitmap); //展示图片 Drawable drawable=new BitmapDrawable(bitmapToMax); arg0.setBackgroundDrawable(drawable); }
2. 现在后先将为长方形的图片进行放大到固定尺寸的处理,变成正方形,不然变成的圆形可能会变扁。然后运用Xfermode 做成圆形图片,在根据大小进行缩放或放大。 Xfermode进行圆形图片的处理
public static Bitmap toRoundBitmap02(Bitmap bitmap){ //将长方形进行放大到固定尺寸 Bitmap bitmapToMax = bitmapToMax(bitmap, 200, 200); float radio=250; Log.e("cicle", bitmapToMax.getWidth()+"----"+bitmapToMax.getHeight()); Bitmap bitmapOut=Bitmap.createBitmap(bitmapToMax.getWidth(), bitmapToMax.getHeight(), Bitmap.Config.ARGB_8888); //新的图 Canvas canvas=new Canvas(bitmapOut); Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG); if(bitmapToMax.getWidth()>bitmapToMax.getHeight()){ radio=bitmapToMax.getHeight()/2-5; }else{ radio=bitmapToMax.getWidth()/2-5; } Log.e("cicle", "radio----"+radio); canvas.drawCircle(bitmapToMax.getWidth()/2, bitmapToMax.getHeight()/2, radio, paint);//先花的为上面的dst paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmapToMax, 0,0, paint); //src return bitmapOut; }
3 放大
public static Bitmap bitmapToMax02(Bitmap bitmap){ Matrix matrix = new Matrix(); matrix.postScale(4.5f,4.5f); //长和宽放大缩小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); return resizeBmp; }
4 注意imageview展示时大小设置为包裹内容
0 0
- 头像的上传02
- 头像上传的过程!~
- 简单的头像上传
- 实现头像的上传
- 上传头像的处理
- ios 头像上传前的头像处理
- 安卓中上传头像的应用
- CSDN上传头像的问题
- 上传头像
- 上传头像
- 上传头像
- 上传头像
- 头像上传
- 上传头像
- 头像上传
- 头像上传
- 头像上传
- 上传头像
- MySQL1236错误的解决方式
- 内核源码树的构建2
- 熟悉Canvas
- OpenWRT编译过程
- Android破解锁屏密码(已root)
- 头像的上传02
- 美国力登的最新KVM-Over-IP
- mybatis学习笔记
- 为什么8位有符号数的范围为“-128 — +127”?
- Linux下Tomcat重新启动
- mysql数据库时间查询相关及mysql数据库向表中某字段前边或者后边追加一段字符串
- Codeforces edu 8 E. Zbazi in Zeydabad 树状数组 处理技巧
- Serializable接口
- 矩阵链乘(动态规划)