【发布时间】:2011-08-27 00:43:00
【问题描述】:
我有两个活动。在一项活动中,我有一个ImageView 和一个相机按钮。
当我按下相机按钮时,它会进入其他活动,其中有两个按钮 Capture,另一个是 Select 按钮。当我按下捕获它捕获图像。但问题是如何将此捕获的图像保存到图库。按下选择按钮后,捕获的图像应显示在第一个活动的ImageView 上。
我该怎么做。
【问题讨论】:
标签: android image camera capture
我有两个活动。在一项活动中,我有一个ImageView 和一个相机按钮。
当我按下相机按钮时,它会进入其他活动,其中有两个按钮 Capture,另一个是 Select 按钮。当我按下捕获它捕获图像。但问题是如何将此捕获的图像保存到图库。按下选择按钮后,捕获的图像应显示在第一个活动的ImageView 上。
我该怎么做。
【问题讨论】:
标签: android image camera capture
【讨论】:
我就是这样做的。图片以分+秒+.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();
}
}
}}
}
【讨论】:
试试这个..
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”
【讨论】: