Android 从相机捕获图像并在Imageview中显示
我想在imageview中显示我拍摄的图像,但它不显示图像。我检查了这些页面,但没有结果: 我的活动:Android 从相机捕获图像并在Imageview中显示,android,Android,我想在imageview中显示我拍摄的图像,但它不显示图像。我检查了这些页面,但没有结果: 我的活动: public class MainActivity extends AppCompatActivity { Button btncam; ImageView imgpic; final int take=10; long name; @Override protected void onCreate(Bundle savedInstanc
public class MainActivity extends AppCompatActivity {
Button btncam;
ImageView imgpic;
final int take=10;
long name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgpic=(ImageView)findViewById(R.id.imgpic);
btncam=(Button)findViewById(R.id.btncamera);
btncam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
name=System.currentTimeMillis();
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(G.appadress+"/"+name+".jpg")));
startActivityForResult(intent,take);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
switch (requestCode){
case take:
Bitmap bitmap= BitmapFactory.decodeFile(G.appadress+"/"+name+".jpg");
imgpic.setImageBitmap(bitmap);
}
}
}
G类:
public class G extends Application {
public static Context context;
public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath();
@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
File file=new File(appadress);
file.mkdirs();
}
}
public class G extends Application {
public static Context context;
public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath()+"/reza";
@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
File file=new File(appadress);
file.mkdirs();
}
}
舱单:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
试试:
}我更喜欢库,自动处理导入或捕获图像
private void onCaptureClick(){
CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.start(this);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
}
}
}
G类:
public class G extends Application {
public static Context context;
public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath();
@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
File file=new File(appadress);
file.mkdirs();
}
}
public class G extends Application {
public static Context context;
public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath()+"/reza";
@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
File file=new File(appadress);
file.mkdirs();
}
}
请解释你尝试的第二个链接发生了什么。我想保存照片,然后在我指定的地址显示它。图像已保存但未显示。跟随它将有助于您此操作可能会引发
NullPointerException
,因为他们在相机Intent
上放置了一个额外的输出
,并且在传递该位图时不会返回缩略图。此代码有效,但我倾向于将照片存储在所需位置,而不是手机的默认位置。此代码有效,但将照片保存在手机的默认位置,而不是/PathPhoto文件夹中。我想将照片保存到最喜爱的位置。使用您的路径更改“Environment.DIRECTORY_PICTURES+”/PathPhoto“”。Environment.DIRECTORY_PICTURES->是图片的路径。如果文件夹不存在,我的代码将在提供的路径中创建该文件夹。