• Android 根据图片路径生成新图片


    /**
     * 新图片保存路径
     * @param oldPicPath
     * @param isCover
     * @return
     */
    private String createCompressPic(String oldPicPath,boolean isCover) {
        if(TextUtils.isEmpty(oldPicPath)){
            return "";
        }
        if(!obtainPicSize(oldPicPath)){
            return "";
        }
        Bitmap bitmap = getCompressBitmap(oldPicPath);
        String picPath ="";
        File file;
        if(isCover){ // 覆盖原图
            picPath = oldPicPath;
        }else {
            picPath =  oldPicPath.substring(0,oldPicPath.lastIndexOf(".")) +"_dis.jpg";
        }
        file = new File(picPath);
        if(file.exists()){
            file.delete();
        }
        try {
            FileOutputStream fos = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.JPEG,100,fos);
            fos.flush();
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return file.getAbsolutePath();
    }
    /***
     * 动态获取图像的宽高
     * @param recogPicPath 识别图像路径
     */
    private boolean  obtainPicSize(String recogPicPath) {
        try {
            File file = new File(recogPicPath);
            BitmapFactory.Options options = null;
            if (!file.exists()) {
                Toast.makeText(context, "读取文件不存在",
                        Toast.LENGTH_LONG).show();
                return false;
            }
            options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
            BitmapFactory.decodeFile(recogPicPath, options);
            if (options == null) {
                return false;
            }
            curPicWidth = options.outWidth;
            curPicHeight = options.outHeight;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
    /**
     * 生成bitmap数据
     * @param path
     * @return
     */
    public Bitmap getCompressBitmap(String path){
        Bitmap bitmap = null;
        bitmap = BitmapFactory.decodeFile(path);
        if(bitmap != null){
            bitmap = Bitmap.createBitmap(bitmap, 0, 0, curPicWidth, curPicHeight);
        }
        return bitmap;
    }
  • 相关阅读:
    CentOS7中使用yum安装Nginx的方法
    vsftp上传文件权限
    java传入ftp 0k
    centos 7.0 查看selinux状态|关闭|开启
    NamingException
    fastdfs服务器搭建
    安装gnome图形界面程序
    MAVEN插件-tomcat插件,java编译插件,资源文件拷贝插件
    spring ioc
    jsp全路径
  • 原文地址:https://www.cnblogs.com/Ayinger/p/11077850.html
Copyright © 2020-2023  润新知