Advertisement
Trewqa

[Android] Make Photo

Apr 8th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1. package me.trewqa.cameratools;
  2.  
  3. import android.Manifest;
  4. import android.app.Activity;
  5. import android.content.Intent;
  6. import android.graphics.Bitmap;
  7. import android.graphics.BitmapFactory;
  8. import android.graphics.Matrix;
  9. import android.net.Uri;
  10. import android.os.Build;
  11. import android.os.Environment;
  12. import android.os.StrictMode;
  13. import android.provider.MediaStore;
  14. import android.support.v4.app.ActivityCompat;
  15. import android.support.v7.app.AppCompatActivity;
  16. import android.os.Bundle;
  17. import android.view.View;
  18. import android.widget.ImageView;
  19.  
  20. import java.io.File;
  21. import java.text.SimpleDateFormat;
  22. import java.util.Date;
  23.  
  24. public class MainActivity extends AppCompatActivity {
  25.  
  26.     @Override
  27.     protected void onCreate(Bundle savedInstanceState) {
  28.  
  29.         StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
  30.         StrictMode.setVmPolicy(builder.build());
  31.  
  32.  
  33.         super.onCreate(savedInstanceState);
  34.         setContentView(R.layout.activity_main);
  35.  
  36.     }
  37.  
  38.  
  39.     public void openCamera(View view) {
  40.         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
  41.             ActivityCompat.requestPermissions((Activity) this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
  42.         }
  43.  
  44.         openBackCamera();
  45.     }
  46.  
  47.     private String pictureImagePath = "";
  48.     private void openBackCamera()
  49.     {
  50.         String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
  51.         String imageFileName = timeStamp + ".jpg";
  52.         File storageDir = Environment.getExternalStoragePublicDirectory(
  53.                 Environment.DIRECTORY_PICTURES);
  54.         pictureImagePath = storageDir.getAbsolutePath() + "/" + imageFileName;
  55.         File file = new File(pictureImagePath);
  56.         Uri outputFileUri = Uri.fromFile(file);
  57.         Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
  58.         cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
  59.         startActivityForResult(cameraIntent, 1);
  60.     }
  61.  
  62.     protected void onActivityResult(int requestCode, int resultCode, Intent data)
  63.     {
  64.         if (requestCode == 1)
  65.         {
  66.             File imgFile = new  File(pictureImagePath);
  67.             if(imgFile.exists())
  68.             {
  69.                 Bitmap myBitmap = BitmapFactory.decodeFile(pictureImagePath);
  70.                 myBitmap = rotateBitmap(myBitmap);
  71.  
  72.                 ImageView myImage = (ImageView) findViewById(R.id.imgview);
  73.                 myImage.setImageBitmap(myBitmap);
  74.  
  75.             }
  76.         }
  77.  
  78.     }
  79.  
  80.     public Bitmap rotateBitmap(Bitmap bitmap)
  81.     {
  82.         Matrix matrix = new Matrix();
  83.         matrix.postRotate(90);
  84.  
  85.         Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap ,bitmap.getWidth(), myBitmap.getHeight(),true);
  86.         Bitmap rotatedBitmap = Bitmap.createBitmap(scaledBitmap , 0, 0, scaledBitmap .getWidth(), scaledBitmap .getHeight(), matrix, true);
  87.  
  88.         return rotatedBitmap;
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement