• 【Andorid X 项目笔记】魅族照片剪切问题(4)



     前言

    魅族手机调用系统图片剪切功能的问题。

     

    声明

      欢迎转载,但请保留文章原始出处:) 
        博客园:http://www.cnblogs.com

        农民伯伯: http://over140.cnblogs.com   

     

    系列

    1、【Andorid X 项目笔记】禁用ListView的Fling功能(1)

    2、【Andorid X 项目笔记】动态设置ViewPager的Adapter问题(2) 

    3、 【Andorid X 项目笔记】TextView字幕效果(3)

    正文

    一、调用图片剪切的代码 

        /**
         * 用于截取大图
         * 
         * 
    @param ctx
         * 
    @param uri
         * 
    @param outputX
         * 
    @param outputY
         * 
    @param requestCode
         
    */
        public static void cropImageUri(Activity ctx, Uri uri, int outputX, int outputY, int requestCode, boolean scale) {
            Intent intent = new Intent("com.android.camera.action.CROP");
            intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
            intent.putExtra("crop", "true");//发送裁剪信号
            intent.putExtra("outputX", outputX);//裁剪区的宽
            intent.putExtra("outputY", outputY);//裁剪区的高
            intent.putExtra("aspectX", 1);//X方向上的比例
            intent.putExtra("aspectY", 1);//Y方向上的比例
            intent.putExtra("scale", scale);//是否保留比例
            
    //intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);//直接输出文件
            intent.putExtra("return-data", true); //是否返回数据
    //        intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
            intent.putExtra("noFaceDetection", true); //关闭人脸检测
            ctx.startActivityForResult(intent, requestCode);
        }

    二、问题

    参照魅族官方论坛帖子:com.android.camera.action.CROP照片剪辑的问题 

    具体表现为剪切完成后在onActivityResult 中取不到data数据。其他机器目前没有发现这样的问题

    三、解决办法 

                    mPhoto = extras.getParcelable("data");
                    if (mPhoto == null) {
                        String filePath = extras.getString("filePath");
                        if (!StringUtils.isEmpty(filePath))
                            mPhoto = ImageUtils.decodeSampledBitmapFromFile(filePath, 400, 600);
                    }

      代码说明:

     虽然魅族的机器没有返回data字段,但是返回了filePath,是相册选中地址的路径,可以把这个图片按尺寸获取一下。注意可能丢失剪切效果,目前暂时这样处理的。

  • 相关阅读:
    第3章 Activity的生命周期
    掌握jQuery插件开发,这篇文章就够了
    第22章 Master-Detail 用户界面
    JavaScript动画1-速度动画
    Compass学习指南
    Compass中导入Normalize
    Sass学习指南
    BASIC-2 01字串
    leetocode题解
    机器学习算法的sklearn实现
  • 原文地址:https://www.cnblogs.com/over140/p/2821874.html
Copyright © 2020-2023  润新知