全部 文章 问答 分享 共找到28个相关内容
[问答] 压缩gif 图疑问
beforeBitmap.compress(Bitmap.CompressFormat.JPEG, options, bos);


已知 以上代码是对于图片进行压缩 那如果压缩的是gif图呢 需要换成流去压缩吗

用该代码去压缩gif 生成的是gif结尾的图片 可是栋不起来了 这点比较疑惑 希望各位大佬点醒一下


我的压缩代码如下

String directoryPrefix = context.getExternalFilesDir("").getAbsolutePath()+SLASH;
        String imagepath = directoryPrefix +"sugar"+ SLASH + "image"+SLASH;
        File file = new File(imagepath);
        if (!file.exists()) {
            file.mkdirs();
        }
        // 可以捕获内存缓冲区的数据,转换成字节数组。
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        if (beforeBitmap != null) {
            // 第一个参数:图片压缩的格式;第二个参数:压缩的比率;第三个参数:压缩的数据存放到bos中
            beforeBitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos);
            // 循环判断压缩后的图片大小是否满足要求,这里限制100kb,若不满足则继续压缩,每次递减10%压缩
            int options = quality; // 70
            while (bos.toByteArray().length / 1024 > maxSize) {
                bos.reset();// 置为空
                beforeBitmap.compress(Bitmap.CompressFormat.JPEG, options, bos);
                options -= 5;  // 每次减少5的压缩质量
            }
            // 转化为文件
            try {
                File compressImageFile = null;
                if (isGif ){
                    compressImageFile = File.createTempFile("image", ".gif", file);
                }else {
                    compressImageFile = File.createTempFile("image", ".jpg", file);
                }
                // 写入 绝对路径
                uncompressImageWithLowQuality(compressImageFile.getAbsolutePath() , bos);
                return compressImageFile.getAbsolutePath();
            } catch (IOException e) {
                SLog.e("createTempFile error is e ="+ e.getMessage());
                e.printStackTrace();
            }

            // 从bos中将数据读出来 转换成图片(位图)
//            ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
//            Bitmap afterBitmap = BitmapFactory.decodeStream(bis);
//            return afterBitmap;
        }
        return null;
2022-08-04 18:16 · 压缩gif
[分享] TypeScript 成 84% Web 开发者的“最爱”
因为我网络环境很好的,是服务器带宽问题,还是网页太大了,还是接口慢,一些官方的网站比如某,等等都是很慢的。未来前端web的占比越来越高,冲。
2022-06-21 10:44 · ts
[问答] 关于沙滩一些借口的疑问
2.https://images.sunofbeaches.com/content/2021_11_16/910128376692342784.png

后缀返回是.png 其实是.gif的

2022-02-24 10:23 · web
[问答] RecyclerView的item复用问题
,然后第9个,18个,27,36,45个item的数据反复被覆盖.一次请求回来的数据是52条,我这边数也是52个item一个没少...向下滑动的过程中没有滑出屏幕这个item也会被反复重新绑定数据..图传不上来
2022-08-23 01:25 · RecyclerView / item复用
[文章] Android TV开发03学习HorizontalGridView
ItemBridgeAdapteriba=newItemBridgeAdapter(aoa);aoa.add("动漫");aoa.add("`漫");aoa.add
2021-09-07 20:51 · AndroidTV / Android / HorizontalGridView
[文章] 修改AndroidStudio库下载仓库
修改AndroidStudio库下载仓库默认情况下,我们适用google,jcenter的仓库,下载库会比较慢有时候都不动我们修改一下仓库为国内仓库就好repositories{maven{url'http
2020-08-19 13:08 · 安卓开发 / AndroidStudio / AS / 仓库 / jcenter
[问答] 想问一道算法题
img src="https://images.sunofbeaches.com/content/2022_07_24/1000743496333656064.png">

这道题java用规做超时了

2022-07-24 12:38 · 算法
[文章] UE开发数字人-心得
在这一个专区中就是那些主播通过数字人的形象来进行直播,当然啦,数字人也有高低之分,其中比较低级的就是"纸片人",大部分虚拟偶像直播间就是这种制片人,只有2d的形式,并且只有上半身可以
2022-09-15 19:17 · UE4 / UE5 / 数字人
[问答] 请问,有人知道B站评论区功功能实现的业务逻辑吗?


后来因为很难给回复分页,也不想牵一发全身,就分表了,评论一张表,回复一张表。

2022-03-19 16:35 · java / nuxt
[文章] 25000字总结Android优秀的第三方框架、各种学习资料(上)
FooterimageLoaderGithubglide安卓图片加载框架GithubGlideImageView基于Glide封装的图片加载库GithubGlideWebpDecoderGlide加载Webp
2020-05-18 19:56 · android
[文章] Android各个版本的新功能(4.2-11.0)
Android9.0的功能变化静态注册的广播全面失效增加了新的权限设置“前台服务”彻底删除秘钥提供者Crypto及其SHA1PRNG算法增加了图像解码器ImageDecoder,并支持播放GIF和WebP
2021-01-23 11:16 · Android / 安卓 / 版本 / 功能变化
[问答] 求大神解惑 Android 线程的一些疑问


今天遇到一个bug 如下图(图转换成链接了,只是个概念图 设备不在身边没办法百分百复现)

链接 http://m.qpic.cn/psc?

2022-12-19 22:57 · Android / 线程 / 多线程
[文章] Jetpack学习笔记之BottomNavigationBars (8)
页面切换时,建议使用淡入淡出动,而不使用横向运动切换。BottomNavigationView的默认高度为56dp。简单使用新建一个使用kotlin的androidX项目。
2020-10-16 00:16 · Jetpack / BottomNavigationView
[文章] 学一学压缩GIF吗
背景对于网络传输照片和文件大小肯定是越小越好这点沙滩康师傅也是做了些后台判断图片小于500k才提供上传(亲测gif将近3M也能传应该是后台接口没限制gif后缀文件)但是为了服务器压力还是尽量压缩下图和图吧
2022-08-09 14:58 · GIF / gif / GIF压缩
[文章] 程序员必做的文史题目
——孔尚任《桃花扇》飞鸟之影,未尝也。
2019-10-21 12:37 · 搞笑 / 程序员 / 日常
[问答] android 支付宝DEMO出错
点击支付宝支付DEMO提示点击不存在原生DEMO没有修改一下DEBUG什么都没有配置完PID密钥启动点击了支付宝支付DEMO就这样2020-02-1517:21:38.04112422-12422/com.alipay.sdk.pay.demoE
2020-02-15 12:42 · bug
[文章] 关于习电脑/组装电脑你所要了解的内存条知识!
相较于前一代DDR4内存,DDR5在频率、带宽、能以及容量等方面都有显著提升,最高工作频率已超过10000MHz,且拥有更高的数据速率和更低的电压操作,进一步提升了系统性能表现。
2024-02-19 12:52 · 内存 / 配置 / 电脑 / PC / 主板
[文章] hanoi塔用递归和用栈替换
当把上面两块当成一个整体来移动,必须借助一个空的将最小的一块安置一下才能实现两块一起
2020-04-01 10:56 · 小白写文章
[文章] 自定义控件-进度按钮(ProgressButton)
好废话不多说,先上图吧,是图哦!它其实是一个按钮來的哦,可以点击,当我点击它的时候,进度就开始了,那么这种控件用于什么场景呢?
2019-10-21 09:56 · 自定义控件 / 安卓 / android / 自定义view
[文章] Android逆向植入经纬度破解某力定位打卡
这是地址模板,如果你想修改就替换你自己的地址就ok了,address,latitude,longitude里面的数据可以修改,其他的不要!
[文章] 28、Android开发基础之Activity的启动模式
android:launchMode="standard"android:theme="@style/AppTheme"/>然后我们把这个应用跑起来,看现象:以上
[文章] Android OkHttp + RxJava 实现断点续传下载更新
我也懒得做图,就上一张截图功能要求能够下载请求的APK文件,在下载过程中能够停止下载,再点击下载时可以接着断点继续下载。
2020-10-24 17:23 · OkHttp / RxJava / 断点续传 / 更新APK
[文章] Android逆向吾爱新年题目Android01
打开app的第一个页面,就是刚刚打开apk后的页面,不要。使用命令dump下当前的activity栈信息,看看当前的页面是哪个activity。
2024-03-01 14:17 · Android / Android逆向 / hook / 反编译
[文章] 使用Vercel优雅的部署Hexo博客
注意,博客原有的_config.yml文件不要打开博客原有的_config.yml配置文件,修改主题为fluid输入hexos验证主题是否安装成功,能够正常访问说明安装成功推送编辑需要特别注意点是,vercel
2022-08-14 15:43 · hexo / 博客 / vercel
[文章] 买电脑时,你应该了解的CPU知识!
这些处理器设计时更注重能比,功率较低,适合用于小型系统或者对噪音控制有较高要求的应用环境。U和Y:这两个后缀出现在移动处理器产品线中,尤其是笔记本电脑处理器。
2024-02-19 11:57 · CPU / 组装机 / 电脑 / pc / 芯片
[文章] 动画详解之视图动画
从而让用户感觉到是自己控制了界面的动向,而不是机械化的跳转,通常会配合震动、视图的选中状态来表现减少不可避免的不适感:启动,下载,加载,刷新,发送等界面,适当的动画效果让等待变的可视化,用户就没有那么无聊,产品体验也会上升;不易被察觉的
2022-08-17 17:32 · android / 动画
[文章] React实现文章的发布功能
当然你可以自己拓展插件highlight.js:一个集成多个不同主题的代码高亮库--地址highlightjs其他的就是React的周边生态上面的相关工具介绍完成之后,我们来看一下需要实现的一个具体效果,如下面的图所示
2022-07-09 09:40 · react / markdown / 文章发布编辑器
[文章] 动画详情之属性动画(二)
ObjectAnimator、AnimatorSet都只能针对一个控件做动画,如果我们想对ViewGroup内部控件做统一的入场动画、处场动画,如Recyclerview里面的item的添加、删除、数据更新时的动画,上面3个都无法做到
2022-08-21 17:08 · android / 动画
  • 1