【问题标题】:android how to save captured image into phones galleryandroid如何将捕获的图像保存到手机图库中
【发布时间】:2011-08-27 00:43:00
【问题描述】:

我有两个活动。在一项活动中,我有一个ImageView 和一个相机按钮。 当我按下相机按钮时,它会进入其他活动,其中有两个按钮 Capture,另一个是 Select 按钮。当我按下捕获它捕获图像。但问题是如何将此捕获的图像保存到图库。按下选择按钮后,捕获的图像应显示在第一个活动的ImageView 上。 我该怎么做。

【问题讨论】:

    标签: android image camera capture


    【解决方案1】:

    【讨论】:

    【解决方案2】:

    我就是这样做的。图片以分+秒+.jpg的形式保存在SDCard上:

    final static private int NEW_PICTURE = 1;
    private String mCameraFileName;
    
    
    ImageButton Edit = (ImageButton) findViewById(R.id.internetbrowser4);
    
        Edit.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent();
                // Picture from camera
                intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
    
                // This is not the right way to do this, but for some reason, having
                // it store it in
                // MediaStore.Images.Media.EXTERNAL_CONTENT_URI isn't working right.
    
                Date date = new Date();
                DateFormat df = new SimpleDateFormat("-mm-ss");
    
                String newPicFile = "Bild"+ df.format(date) + ".jpg";
                String outPath = "/sdcard/" + newPicFile;
                File outFile = new File(outPath);
    
                mCameraFileName = outFile.toString();
                Uri outuri = Uri.fromFile(outFile);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, outuri);
    
    
                    startActivityForResult(intent, NEW_PICTURE);
    
            }
        });
    
      public void onActivityResult(int requestCode, int resultCode, Intent data) 
        {
            if (requestCode == NEW_PICTURE) 
            {
                // return from file upload
                if (resultCode == Activity.RESULT_OK) 
                {
                    Uri uri = null;
                    if (data != null) 
                    {
                        uri = data.getData();
                    }
                    if (uri == null && mCameraFileName != null) 
                    {
                        uri = Uri.fromFile(new File(mCameraFileName));
                    }
                    File file = new File(mCameraFileName);
                    if (!file.exists()) {
                        file.mkdir();
                    }
                }
            }} 
    }
    

    【讨论】:

      【解决方案3】:

      试试这个..

      String path = Environment.getExternalStorageDirectory() + "/CameraImages/example.jpg";
                                  File file = new File(path);
                                  Uri outputFileUri = Uri.fromFile( file );
                                  Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
                                  intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
      
                                  startActivityForResult( intent, CAPTURE_IMAGE );
      

      您的图像将保存在此位置“sdcard/CameraImages/example.jpg”

      【讨论】:

      • 抱歉,它在 Nexus 7 (Cyanogenmod) 上不起作用!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多