首页 > 其他分享 >直播app开发搭建,Android studio 图片压缩

直播app开发搭建,Android studio 图片压缩

时间:2023-09-27 14:11:54浏览次数:61  
标签:int app bitmap BitmapFactory sampleSize studio path Android 图片

直播app开发搭建,Android studio 图片压缩

获取图片目录

 

File file=Environment.getExternalStorageDirectory();//获取根路径 storage/emulated/0
String path1=file.getPath()+"/Pictures/1655215651628.jpg";//Pictures文件夹下面的 1655215651628.jpg图片名
 


     //path 压缩图片的路径
        String path="/storage/emulated/0/Pictures/1655215651628.jpg";
        Bitmap bitmap = obtainImageFromPath(path, 100, 160);
        saveBitmapFile(bitmap);//把压缩图片储存
        image.setImageBitmap(bitmap);
 //传入路径和宽高
    public static Bitmap obtainImageFromPath(String path, int width, int height) {
        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(path, o);
        o.inSampleSize = calculateSampleSize(o, width, height);
        o.inJustDecodeBounds = false;
        return BitmapFactory.decodeFile(path, o);
    }
    //计算样本量
    private static int calculateSampleSize(BitmapFactory.Options o, int reqWidth, int reqHeight) {
        int sampleSize = 1;
        if (o.outWidth > reqWidth || o.outHeight > reqHeight) {
            final int halfWidth = o.outWidth / 2;
            final int halfHeight = o.outHeight / 2;
            while ((halfHeight / sampleSize) >= reqHeight
                    && (halfWidth / sampleSize) >= reqWidth) {
                sampleSize *= 2;
            }
        }
        return sampleSize;
    }
//保存压缩的文件
    public void saveBitmapFile(Bitmap bitmap){
        File file=new File("/storage/emulated/0/Pictures/1655215651628.jpg");//将要保存图片的路径,图片的大小已经改变
        try {
            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
            bos.flush();
            bos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 以上就是 直播app开发搭建,Android studio 图片压缩,更多内容欢迎关注之后的文章

 

标签:int,app,bitmap,BitmapFactory,sampleSize,studio,path,Android,图片
From: https://www.cnblogs.com/yunbaomengnan/p/17732586.html

相关文章

  • Android Sample 之 Tab 和 Navigation
    Sample中,Tab在上,Navigation在下,后者有图标。不理解为什么用不同的名称。之前没有区分,混淆模糊。 搜索发现有人在stackoverflow问。有人答曰:区别在于 Tab是同一主题,而 Navigation可用于不相关的主题。 Tabsareconsideredtoberelatedtoeachotherwhere......
  • Visual Studio 2022中粘贴代码会自动变转义字符
    装了VisualStudio2022之后,一直没有正式的项目在跑。最近有新项目,决定试试.net6的新特性。在添加集合时,粘贴”);补充字符串时,发现VS居然自动帮我转了转义字符,比如原文是:varfields=newList<string>();fields.Add("zip我想补充成:fields.Add("zip");结果却变成了:fie......
  • 3、SpringMVC之RequestMapping注解
    3.1、环境搭建创建名为spring_mvc_demo的新module,过程参考2.1节3.1.1、创建SpringMVC的配置文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/......
  • WhaleStudio 分钟级构建 AI 模型,强大 Ops 能力简化模型调度与部署
    什么是机器学习(ML)?它有什么作用机器学习(ML)是人工智能(AI)的一个子集,通过算法发现数据中的通用模式,并根据持续不断的训练来优化调整最终结果。ML模型从过去的经验中学习,并根据已有的经验进行预测。例如,现在的电商已不再会使用普遍性降价或优惠券等手段吸引客户,取而代之的是根......
  • DBConvertStudio使用记录
    DBConvertStudio使用记录前言这篇文章是我在学习使用DBConvertStudio过程中的学习记录,以便日后遗忘查阅;诸君也可跟随我的步伐了解一下DBConvertStudio声明:改软件是付费的,但在国内没有什么是通过魔法解决不了的。目录DBConvertStudio使用记录前言初识DBConvertStudio一、DBC......
  • 生态兼容性进一步提升!白鲸开源 WhaleStudio 与火山引擎ByteHouse完成产品互认
    数据作为新型生产要素,已快速融入生产、分配、流通、消费和社会服务管理等各环节,深刻改变着生产方式、生活方式和治理方式。越来越多企业也在尝试充分利用数据要素,开辟全新发展路径,进一步实现业务价值提升。在数字化转型的大背景之下,白鲸开源旗下WhaleStudio与火山引擎ByteHouse......
  • KdMapper扩展实现之microstar(NTIOLIB_X64.sys)
    1.背景  KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称NTIOLIB_X64.sys 时间戳50......
  • 详解git pull命令和使用过程中遇到的常见问题:fatal: ‘origin‘ does not appear to b
    使用gitpull同步远程代码使用git管理测试相关代码时,因为测试代码本身量级不大,所以很少使用分支,默认都使用master(主分支),当我们想要从远程origin(origin是远程仓remoterepository,clone到本地的默认名字)。当主机的master分支拉取代码过来和本地的当前分支进行合并时,需要使用如下命令:g......
  • MMU复习--Apple的学习笔记
    一,前言以前看过MMU,因为这是单片机OS中没有的,当时我记得理解的不是很清晰,包括MMU中哪部分是硬件的,哪部分是软件的都没有太搞清楚。由于看了一个自己写linux操作系统的视频,里面有介绍MMU,且演示了虚拟地址和物理地址的转换,此时我才深刻的理解了,所以在看qemu源码的内存管理前,我先复习......
  • MMU复习--Apple的学习笔记
    一,前言以前看过MMU,因为这是单片机OS中没有的,当时我记得理解的不是很清晰,包括MMU中哪部分是硬件的,哪部分是软件的都没有太搞清楚。由于看了一个自己写linux操作系统的视频,里面有介绍MMU,且演示了虚拟地址和物理地址的转换,此时我才深刻的理解了,所以在看qemu源码的内存管理前,我先复习下......