高仿微信上传头像附带压缩,旋转图片,附加demo
本人初学者,再做项目时要求上传头像要像微信那种,需要外面裁剪框不动,里面图片可以改变大小,android系统裁剪和所要求的完全相反,所以,对于这个问题,困扰了我将近一个月,不断的修改,不断的出现新问题,终于,现在完美的实现了这个功能,现在我就分享给需要的朋友们,我相信你们也有过和我相同的烦恼,希望我这个demo可以对于你们有帮助,不用像我一样,纠结了近一个月之久,找了很多很多,没有一个是自己所需要的。
首先,就是创建两个按钮,分别为相册和相机了,对于转化为dialog来说我相信大家很容易能做到,我就不详细说明了,
简便的用两个按钮代替了。
然后就是需要分别调用相册和相机系统,当然对于要求来说,我们需要自己固定的切板界面,这就需要跳转界面,不能像调用系统裁剪一样,用一个界面就能完全实现,这就需要我们跳转acitivty了,但在跳转之前,我们有很重要的事需要做!!!!!
首先便是将图片缩小一定比例,这个是重点,我们用intent传递bitmap有限制,不能肆无忌惮的传,所以缩小图片是必须的,防止系统崩溃,其次,我们要将bitmap转化为字符byte传过去,保证图片质量不受影响。
如果你们想,这就行了,那就大错特错,解决了内存问题,但是方向问题依然存在,传过去有的图片会变为横屏,这当时一个又一个问题真心是让我身心疲惫~~!!
那好吧,现在让我们来调整图片的方向,首先获取图片的位置。
然后根据图片位置进行旋转为正向,这就是传递图片的主要问题了。
跳转过去,那就是正常的接收byte,再转化为bitmap,然后写两个方法类,一个是图片的,一个是裁剪的,这些都是些固定的套路,很简单,相信大家可以看懂。
相机方面,当然可以调用系统相机,传bitmap上面我没有遇到太大问题,一切都是自然而然,我相信大家都可以看懂。
初学者,文采也不好,只能说一些言简意赅的话语,希望大家可以理解。
我写这篇文章,只要是这个问题,真的困扰了我很久很久,一直扣一直扣非常的虐心,希望可以帮助那些和我有相同问题的朋友,不用和我一样,为了一个大项目中这个上传头像的小问题而困扰太久。
额、、、上传demo的地方在哪呢。。。。。
呃,找到了,已经上传,小弟初学者,还需要下载很多资源,所以嘛,嘿嘿,收点积分咯,2积分,就是给有需要的人,绝对超值,喜欢的自己下载吧。
朋友们,如果有用记得给好评哦,第一篇文章,只为帮助大家脱离困然,希望多多支持,以后我还会发一下大家所需要的demo哦。
上次写的稍微有点小Bug,内存过大的图片会导致系统崩溃,现在已改进,下面是下载地址。
下面为下载demo链接网址
http://download.csdn.net/detail/qq_30146093/9117965
高仿微信上传头像附带压缩,旋转图片,附加demo相关推荐
- 完整的前后端 实现上传头像、压缩头像
本文是我在写上传头像功能后的一个详细的总结,用作以后可以回顾,可能较为繁琐,如果明白上传只想看压缩,可直接拉到文章后半部分. 文章目录 上传头像 上传头像准备工作 上传头像 上传头像路由配置 上传头像 ...
- html如何设计上传头像失败,【微信上传头像失败】微信上传头像失败怎么回事?...
微信上传头像失败怎么回事?不少小伙伴会遇到微信上传头像失败的情况,但不知道哪里出了问题.下面小编给大家总结了一些导致微信上传头像失败的原因,快来看看吧! 一.微信上传头像失败常见原因 1.有可能你需要 ...
- Android 高仿微信群聊头像
最近小编搞了一个仿微信群聊头像的一个功能,分享给大家... 工作中需要实现仿钉钉群头像的一个功能,就是个人的头像拼到一起显示,看了一下市场上的APP好像微信的群聊头像是组合的,QQ的头像不是,别的好像 ...
- Android 仿qq上传头像(一)
转载请注明出处http://blog.csdn.net/u014163726/article/details/44994197 这么长时间没写博客感觉手都要生了啊,最近因为 ...
- android 模仿qq 上传头像,Android 仿qq上传头像(一)
转载请注明出处http://blog.csdn.net/u014163726/article/details/44994197 这么长时间没写博客感觉手都要生了啊,最近因为工作的关系来到了上海,目前还 ...
- h5压缩图片上传 php_一键压缩,图片上传大小不得超过200K?
今天分享一款压缩图片的小程序,它的名字就叫"图片压缩",多么简单粗暴好理解! 我们在网站实名认证或者上传电子图片的时候,经常被要求上传图片的大小不得超过一定限制,比如:图片不得超过 ...
- Kotlin高仿微信-第26篇-朋友圈-选择图片、小视频对话框
Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册.登录.主页.单聊(文本.表情.语音.图片.小视频.视频通话.语音通话.红包.转账).群聊.个人信息.朋友圈.支付服务.扫一扫.搜 ...
- 上传文件,压缩临时图片,不做本地图片存储,用于传输
前端上传的MultipartFile file//创建临时文件 OutputStream stream = null; File toFile = null; try {toFile = File.c ...
- 高仿微信上划取消录音
不多说,先上图 核心代码如下:主要是用过获取点击事件得距离来实现 package fan.soundrecordingdemo;import android.Manifest; import andr ...
最新文章
- 程序员必知的7种软件架构模式
- java 苹果vcf解析_VCF文件格式解析
- Jmeter(十七)Logic Controllers 之 Interleave Controller
- STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码 提供配套CUBE工程
- 进制转换(二进制、八进制、十进制、十六进制)涵盖整数与小数部分,超详细
- java实现一个旅游网站
- c语言 电阻器的分类,电阻器的详细介绍与分类以及其应用
- 高中数学知识那些和计算机有关系,2016高中数学知识点.doc
- python_爬校花图片
- 一杯凉茶 mysql_那一杯凉茶
- python中print打印输出
- Android系统开发篇(二) —— 建立Android系统开发环境之Ubuntu 20.04.4 LTS
- 存储系统性能 - 带宽计算
- There was a problem with the instance info replicator
- Hive中的map join、left semi join和sort merge bucket join
- matlab边角网间接平差计算,12.2测边网与边角网间接平差
- 英伟达面向开发者群体建立深度学习课程
- linux malloc错误,如何规避GCC中“尝试使用中毒的malloc / calloc”错误?
- 附源码|复杂网络社区发现——标签传播算法(LPA)
- 《洋娃娃和小熊跳舞》吉他简谱