testButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v)
{
imageView.setImageBitmap(Bitmap);
imageView.buildDrawingCache();
Bitmap bm =imageView.getDrawingCache();
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Punch");
imagesFolder.mkdirs();
String fileName = "image" + ".jpg";
File output = new File(imagesFolder, fileName);
Uri uriSavedImage = Uri.fromFile(output);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
OutputStream fos = null;
try {
fos = getContentResolver().openOutputStream(uriSavedImage);
bm.compress(CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{}
}
});
Run Code Online (Sandbox Code Playgroud)
首先,我从SD卡检索图像到分辨率的图像视图(640 x 480).然后我再次将图像从图像视图保存到SD卡.但保存的图像分辨率为(188x113).任何人都可以建议我如何以相同的分辨率保存.任何建议都会很明显.
我刚开始使用Android编程,正在创建一个android应用程序,在该应用程序中,允许用户键入信息,使用ImageView实现拍照并保存信息。我已经到了可以显示拍摄到ImageView中的图像的地步。但是,我无法将拍摄的图像保存到手机的内部存储器中。这意味着,每当我尝试保存信息时,包括ImageView(来自相机的图像),只有图像会消失。我在http://www.androidhive.info/2013/09/android-working-with-camera-api/上遵循了此指南,但是由于我的手机没有SD卡存储,因此无法使用。
我在这里已经阅读了很多问题,但是它们并不能解决问题。
因此,如果有人可以给我详细的程序编辑方法,使我可以将图像保存到内部存储中或从中读取图像,那就太好了!谢谢。
/**
* returning image / video
*/
private static File getOutputMediaFile(int type) {
// External sdcard location
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
IMAGE_DIRECTORY_NAME);
// Create the storage directory if it does not exist
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "
+ IMAGE_DIRECTORY_NAME + " directory");
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我当前的代码:
private static final String IMAGE_DIRECTORY_NAME = "Hello Camera";
private Uri fileUri; // file url to store image/video
private …Run Code Online (Sandbox Code Playgroud)