首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用三星设备4和5中的图片加载问题

使用三星设备4和5中的图片加载问题
EN

Stack Overflow用户
提问于 2019-12-05 07:08:30
回答 1查看 61关注 0票数 0

代码运行正常,但三星设备(版本4和5)被创建了一个问题,图像需要相机和图像的负载,这不是在android应用程序中加载图像。

代码:

代码语言:javascript
复制
Bitmap profilebitmap=null;  

public void openCameraForProfile(){
          Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, 101);//camera open and intent onActivityResult.
    }
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        try {
           if (requestCode == 101 && resultCode == RESULT_OK) {
                try{
                   Bitmap thumbnail = (Bitmap) data.getExtras().get("data");


                  iv_profile.setImageBitmap(thumbnail);
                    profilebitmap = thumbnail;
            }catch (Exception e){
                    e.printStackTrace();
                }
            }
          }
EN

回答 1

Stack Overflow用户

发布于 2019-12-05 07:47:52

代码语言:javascript
复制
app gradle

          implementation 'com.fxn769:pix:1.4.4'

 place in to your activity for you click button for take picture 
       private int PICK_IMAGE_REQUEST = 1001;

          Options options = Options.init()
          .setRequestCode(PICK_IMAGE_REQUEST)                                                     
          //Request code for activity results
          .setCount(3)                                                         
          //Number of images to restict selection count
          .setFrontfacing(false)                                                
          //Front Facing camera on start

          .setImageQuality(ImageQuality.HIGH)                                
         //Image Quality
          .setPreSelectedUrls(returnValue)               
        //Preselected Image Urls
          .setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT)                
        //Orientaion
          .setPath("/pix/images");                                             
       //Custom Path For Image Storage

        Pix.start(MainActivity.this, options);

receive 
           public void onActivityResult(int requestCode, int resultCode, Intent data)  
          {
        super.onActivityResult(requestCode, resultCode, data);

        try {
            if (resultCode == RESULT_OK) {
                if (requestCode == PICK_IMAGE_REQUEST) {
                    ArrayList<String> selectedPaths =  
                         data.getStringArrayListExtra(Pix.IMAGE_RESULTS);
                    if (selectedPaths != null) {
                        for (int i = 0; i < selectedPaths.size(); i++) {
                            String fPath = selectedPaths.get(i);
                            if (!returnValue.contains(fPath)) {
                                Uri fileUri = Uri.fromFile(new File(fPath));
                                getImage(fileUri, fPath);
                            }
                        }
                    } 
                } catch (Exception e) {
            e.printStackTrace();
        }

 show image

         private void getImage(Uri fileUri, String mFilePath) {
        try {
            if (fileUri != null) {
                Bitmap bitmap = 
        MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), 
        fileUri);
                bitmap = getResizedBitmap(bitmap, 1080);

        } catch (IOException e) {
            e.printStackTrace();
        }
       }

resize the image
        public Bitmap getResizedBitmap(Bitmap image, int maxSize) {
        int width = image.getWidth();
        int height = image.getHeight();
        if (width > maxSize || height > maxSize) {
            float bitmapRatio = (float) width / (float) height;
            if (bitmapRatio > 1) {
                width = maxSize;
                height = (int) (width / bitmapRatio);
            } else {
                height = maxSize;
                width = (int) (height * bitmapRatio);
            }
            return Bitmap.createScaledBitmap(image, width, height, true);
        } else {
            return image;
        }
      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59189941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档