Android微信分享图片按质量压缩的解决方案,androidndk开发教程
三、将io流转为byte数组
public static byte[] inputStreamToByte(InputStream is) {
try {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = is.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
四、按质量压缩
/**
- 按质量压缩图片
- @param src bitmap图片
- @param maxByteSize 最大字节数
- @param recycle
- @return
*/
public static byte[] compressByQuality(final Bitmap src, final long maxByteSize, final boolean recycle) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
src.compress(CompressFormat.JPEG, 100, baos);
byte[] bytes;
if (baos.size() <= maxByteSize) {
bytes = baos.toByteArray();
} else {
baos.reset();
src.compress(CompressFormat.JPEG, 0, baos);
if (baos.size() >= maxByteSize) {
bytes = baos.toByteArray();
} else {
// find the best quality using binary search
int st = 0;
int end = 100;
int mid = 0;
while (st < end) {
mid = (st + end) / 2;
baos.reset();
src.compress(CompressFormat.JPEG, mid, baos);
int len = baos.size();
if (len == maxByteSize) {
break;
} else if (len > maxByteSize) {
end = mid - 1;
} else {
st = mid + 1;
}
}
if (end == mid - 1) {
baos.reset();
src.compress(CompressFormat.JPEG, st, baos);
}
bytes = baos.toByteArray();
}
小福利:
在当下这个碎片化信息环境的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021大厂最新Android面试真题解析
各个模块学习视频:如数据结构与算法
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!点赞+评论即可获得!
或直接点击这里前往我的GitHub中下载,就可以白嫖啦,记得给文章点个赞哦。
%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)中下载**,就可以白嫖啦,记得给文章点个赞哦。
Android微信分享图片按质量压缩的解决方案,androidndk开发教程相关推荐
- android微信分享图片压缩,Android微信分享图片按质量压缩的解决方案
一.杂谈 微信分享图片的迷之bug,前一阵子接盘一个Hybrid App,分享要用原生的分享,搞了一阵子把微信分享搞上,测试又反馈了一个谜一样的Bug,我这边看Log打印了checkArgs fail ...
- android 微信分享多张图片大小,Android 关于微信分享图片过大失败的解决方案
android 关于微信分享图片过大失败的解决方案.这是因为微信对缩略图做了限制,最大不超过32k. 所以可以先通过图片加载工具获取bitmap,然后进行压缩,压缩方法如下: //压缩图片 publi ...
- android+怎么分享图片大小,Android微信分享图片大于32k进行压缩
微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: package com.example.test; im ...
- Android 微信分享图片(好友和朋友圈)
一. 配置 (1)module下build.gradle implementation ('com.xyzlf.share:sharesdk:0.0.10') {exclude group: 'com ...
- android微信分享图片踩坑之旅
分享图片代码如下 bitmap.recycle() 资源被回收了,所以每次分享的bitmap必须是重新创建出来的 /*** 微信图片分享** @param shareType {@link SendM ...
- android11微信分享图片黑色,Android 微信分享图片问题集锦
之前在做微信分享时碰到如下问题. 02-10 17:35:48.193 12867-12867/? W/System.err: java.lang.RuntimeException: Unable t ...
- Android 微信分享图片
private String APP_ID = "00000000000000000"; //微信 APPID private IWXAPI iwxapi; private voi ...
- Android 微信分享图片!!!
开始创建应用,通过审核等 我就不说了.. 首先下载,微信的SDK 然后将jar包导入项目 ,可参考微信开发文档,然后有文档了,为什么还要写这个文章?对吧 我只能吐槽,写开发文档的人太懒了.,好多没写 ...
- android 微信分享gif图,android后台动态创建图片并实现微信分享
今天就记录一下. 先说明一下,之前没有做过类似的东西,百度了一两天才知道,说来很惭愧.有点笨,只能这样说. 在我的脑里只明白,如果要动态创建图片: 一.就是new 嘛 二.就是LayoutInflat ...
最新文章
- 我的机器学习入门之路(上)——传统机器学习
- Java对象内存图一
- 前端学习(2802):完成资讯页面详情
- 预装鸿蒙系统!华为MatePad Pro 2或暂定6月2日发布
- mongodb java 地理位置_MongoDB的地理位置索引
- Redhat as 4 中创建 LVM 逻辑卷
- 用mysql设计一个超市员工管理系统_数据库设计--小型超市管理系统
- VScode 下载、安装和设置中文界面
- python搭建一个后端平台
- #paypay付款测试#
- 【离散数学】陪集精讲
- 苹果4创建id显示服务器错误,苹果无法创建账户是什么意思
- 手把手教你用 Homer 处理 fNIRS 数据
- 分享《Essential Linux Device Drivers》中文版高清电子版
- c语言if语句教学设计,if语句教学设计
- 程序员怎么写出亮眼的简历?
- Unity中手动压缩图片 修改图片分辨率
- 渗透测试学习笔记之案例五
- WebService soap报文请求与响应报文解析
- 浅谈人机交互设计系统
热门文章
- SynaptiCAD.AllProducts.v19.00c windows32 64/linux32 64 SOLARIS(电子设计自动化工具集)
- 中科柏诚本地生活,助力银行完成数字金融转型
- 图论概念:Degree Centrality 和 Betweenness Centrality
- 团购网到底该如何实现平台化转型
- 快速查找对方IP地址,还可以破解密码!
- 3Com Switch 4250T 系列交换机
- 修改服务器时间和时区
- 嫌JS写得不够好?我教你啊!五个小技巧
- 基于java的围棋游戏设计
- thunderbird 编辑html,通过thunderbird扩展以html格式阅读电子邮件