Crop the images from camera screen android

Crop the images from camera screen android

To crop images from the camera screen in an Android application, you can follow these steps:

  1. Capture an Image using the Camera Intent: Start by capturing an image using the camera intent and save it to a file.

  2. Crop the Image using an Image Cropping Library: Use an image cropping library like uCrop to crop the captured image.

Step-by-Step Guide

1. Add Dependencies

Add the necessary dependencies in your build.gradle file. For capturing images, you don't need an additional dependency as you can use the built-in camera intent. For cropping, you can use the uCrop library.

// In your app's build.gradle dependencies { implementation 'com.github.yalantis:ucrop:2.2.6' } 

2. Capture Image using Camera Intent

In your activity, start the camera intent to capture an image.

private static final int REQUEST_IMAGE_CAPTURE = 1; private Uri photoURI; private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // Ensure that there's a camera activity to handle the intent if (takePictureIntent.resolveActivity(getPackageManager()) != null) { // Create the File where the photo should go File photoFile = null; try { photoFile = createImageFile(); } catch (IOException ex) { // Error occurred while creating the File } // Continue only if the File was successfully created if (photoFile != null) { photoURI = FileProvider.getUriForFile(this, "com.example.android.fileprovider", photoFile); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI); startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } } // Create a File for saving the image private File createImageFile() throws IOException { // Create an image file name String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String imageFileName = "JPEG_" + timeStamp + "_"; File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES); File image = File.createTempFile( imageFileName, /* prefix */ ".jpg", /* suffix */ storageDir /* directory */ ); // Save a file: path for use with ACTION_VIEW intents return image; } 

3. Crop the Captured Image

Once the image is captured, use the uCrop library to crop the image.

private static final int REQUEST_CROP_IMAGE = 2; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Uri destinationUri = Uri.fromFile(new File(getCacheDir(), "cropped")); UCrop.of(photoURI, destinationUri) .withAspectRatio(1, 1) .withMaxResultSize(500, 500) .start(this); } else if (requestCode == UCrop.REQUEST_CROP && resultCode == RESULT_OK) { Uri resultUri = UCrop.getOutput(data); // Use the cropped image Uri } else if (requestCode == UCrop.RESULT_ERROR) { final Throwable cropError = UCrop.getError(data); // Handle crop error } } 

4. Declare FileProvider in Manifest

To make the file accessible to the camera app, you need to declare a FileProvider in your AndroidManifest.xml.

<application ...> <provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider> ... </application> 

5. Define File Paths

Create an XML file res/xml/file_paths.xml to specify the file paths.

<?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-files-path name="my_images" path="Pictures" /> </paths> 

Summary

  1. Capture an Image: Use the camera intent to capture an image and save it to a file.
  2. Crop the Image: Use uCrop to crop the captured image.
  3. Handle the Results: Process the results in onActivityResult.

This approach leverages the camera intent for capturing images and uCrop for cropping, ensuring a seamless user experience.

Examples

  1. How to crop an image taken from the camera in Android?

    Description: This code demonstrates how to take a photo using the camera and then crop the image using an Intent to open a cropping activity.

    // MainActivity.java import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_CROP_IMAGE = 2; private Uri imageUri; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); dispatchTakePictureIntent(); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Bundle extras = data.getExtras(); Bitmap imageBitmap = (Bitmap) extras.get("data"); imageView.setImageBitmap(imageBitmap); Uri imageUri = getImageUri(imageBitmap); cropImage(imageUri); } else if (requestCode == REQUEST_CROP_IMAGE && resultCode == RESULT_OK) { Bundle extras = data.getExtras(); Bitmap croppedBitmap = (Bitmap) extras.get("data"); imageView.setImageBitmap(croppedBitmap); } } private Uri getImageUri(Bitmap imageBitmap) { // Convert Bitmap to Uri // Implementation required return null; } private void cropImage(Uri imageUri) { Intent cropIntent = new Intent("com.android.camera.action.CROP"); cropIntent.setDataAndType(imageUri, "image/*"); cropIntent.putExtra("crop", "true"); cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1); cropIntent.putExtra("outputX", 100); cropIntent.putExtra("outputY", 100); cropIntent.putExtra("return-data", true); startActivityForResult(cropIntent, REQUEST_CROP_IMAGE); } } 
  2. How to implement image cropping using the Android UCrop library?

    Description: This code shows how to use the UCrop library to crop images taken from the camera.

    // build.gradle dependencies { implementation 'com.github.yalantis:ucrop:2.2.6' } // MainActivity.java import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.github.yalantis.ucrop.UCrop; public class MainActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_CROP_IMAGE = 2; private Uri imageUri; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); dispatchTakePictureIntent(); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK && data != null) { Uri imageUri = data.getData(); if (imageUri != null) { startCropActivity(imageUri); } } else if (requestCode == UCrop.REQUEST_CROP && resultCode == RESULT_OK) { final Uri resultUri = UCrop.getOutput(data); if (resultUri != null) { imageView.setImageURI(resultUri); } } } private void startCropActivity(Uri uri) { UCrop.Options options = new UCrop.Options(); options.setCompressionQuality(90); UCrop uCrop = UCrop.of(uri, Uri.fromFile(new File(getCacheDir(), "cropped.jpg"))); uCrop.withOptions(options); uCrop.start(this); } } 
  3. How to crop an image using a custom crop view in Android?

    Description: This code demonstrates creating a custom view for cropping images using a CropImageView.

    // build.gradle dependencies { implementation 'com.github.isseiaoki:android-crop:2.1.0' } // activity_main.xml <com.github.isseiaoki.crop.CropImageView android:id="@+id/cropImageView" android:layout_width="match_parent" android:layout_height="match_parent" app:cropAspectRatioX="1" app:cropAspectRatioY="1" /> // MainActivity.java import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.Button; import android.widget.ImageView; import androidx.appcompat.app.AppCompatActivity; import com.github.isseiaoki.crop.CropImageView; public class MainActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private CropImageView cropImageView; private Button cropButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cropImageView = findViewById(R.id.cropImageView); cropButton = findViewById(R.id.cropButton); dispatchTakePictureIntent(); cropButton.setOnClickListener(v -> { Bitmap croppedBitmap = cropImageView.getCroppedBitmap(); ImageView imageView = findViewById(R.id.imageView); imageView.setImageBitmap(croppedBitmap); }); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK && data != null) { Bundle extras = data.getExtras(); Bitmap imageBitmap = (Bitmap) extras.get("data"); cropImageView.setImageBitmap(imageBitmap); } } } 
  4. How to crop an image using Android��s built-in crop functionality?

    Description: This code shows how to use Android's built-in crop functionality by starting a crop intent.

    import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity { private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_CROP = 2; private Uri imageUri; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); dispatchTakePictureIntent(); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { imageUri = data.getData(); cropImage(); } else if (requestCode == REQUEST_CROP && resultCode == RESULT_OK) { Bundle extras = data.getExtras(); Bitmap croppedImage = (Bitmap) extras.get("data"); imageView.setImageBitmap(croppedImage); } } private void cropImage() { Intent cropIntent = new Intent("com.android.camera.action.CROP"); cropIntent.setDataAndType(imageUri, "image/*"); cropIntent.putExtra("crop", "true"); cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1); cropIntent.putExtra("outputX", 500); cropIntent.putExtra("outputY", 500); cropIntent.putExtra("return-data", true); startActivityForResult(cropIntent, REQUEST_CROP); } } 
  5. How to use CropImage library for cropping images in Android?

    Description: This code demonstrates cropping images using the CropImage library for easy image cropping.

    // build.gradle dependencies { implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' } // MainActivity.java import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.Button; import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.theartofdev.edmodo.cropper.CropImage; public class MainActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); Button takePictureButton = findViewById(R.id.takePictureButton); takePictureButton.setOnClickListener(v -> dispatchTakePictureIntent()); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Uri imageUri = data.getData(); CropImage.activity(imageUri).start(this); } else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) { CropImage.ActivityResult result = CropImage.getActivityResult(data); if (resultCode == RESULT_OK) { Uri resultUri = result.getUri(); imageView.setImageURI(resultUri); } } } } 
  6. How to crop an image after capturing it from the camera using Android?

    Description: This code captures an image using the camera and then crops it programmatically.

    import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.Button; import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private ImageView imageView; private Bitmap imageBitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); Button takePictureButton = findViewById(R.id.takePictureButton); takePictureButton.setOnClickListener(v -> dispatchTakePictureIntent()); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK && data != null) { Bundle extras = data.getExtras(); imageBitmap = (Bitmap) extras.get("data"); cropImage(); } } private void cropImage() { // Crop image programmatically (example: cropping the center 200x200 pixels) int width = imageBitmap.getWidth(); int height = imageBitmap.getHeight(); int cropWidth = 200; int cropHeight = 200; Bitmap croppedBitmap = Bitmap.createBitmap( imageBitmap, (width - cropWidth) / 2, (height - cropHeight) / 2, cropWidth, cropHeight ); imageView.setImageBitmap(croppedBitmap); } } 
  7. How to crop images using the Android Image Cropper library?

    Description: This code demonstrates using the Android Image Cropper library to crop images from the camera.

    // build.gradle dependencies { implementation 'com.github.yalantis:ucrop:2.2.6' } // MainActivity.java import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.Button; import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.github.yalantis.ucrop.UCrop; public class MainActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_CROP_IMAGE = 2; private Uri imageUri; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); Button takePictureButton = findViewById(R.id.takePictureButton); takePictureButton.setOnClickListener(v -> dispatchTakePictureIntent()); } private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK && data != null) { imageUri = data.getData(); Uri destinationUri = Uri.fromFile(new File(getCacheDir(), "cropped_image.jpg")); UCrop.Options options = new UCrop.Options(); options.setCompressionQuality(80); UCrop uCrop = UCrop.of(imageUri, destinationUri); uCrop.withOptions(options); uCrop.start(this); } else if (requestCode == UCrop.REQUEST_CROP && resultCode == RESULT_OK) { Uri resultUri = UCrop.getOutput(data); imageView.setImageURI(resultUri); } } } 
  8. How to crop image using the Android Camera2 API?

    Description: This example uses the Camera2 API to capture an image and then crops it using a custom method.

    // CameraActivity.java import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.Image; import android.media.ImageReader; import android.os.Bundle; import android.util.Size; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; public class CameraActivity extends AppCompatActivity { private SurfaceView surfaceView; private ImageReader imageReader; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera); surfaceView = findViewById(R.id.surfaceView); SurfaceHolder holder = surfaceView.getHolder(); holder.addCallback(new SurfaceHolder.Callback() { @Override public void surfaceCreated(@NonNull SurfaceHolder holder) { setUpCamera(); } @Override public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(@NonNull SurfaceHolder holder) { } }); } private void setUpCamera() { // Setup Camera2 API // ImageReader setup for capturing image imageReader = ImageReader.newInstance(1920, 1080, ImageFormat.JPEG, 1); imageReader.setOnImageAvailableListener(new ImageReader.OnImageAvailableListener() { @Override public void onImageAvailable(ImageReader reader) { Image image = reader.acquireLatestImage(); if (image != null) { Bitmap bitmap = BitmapFactory.decodeStream(image.getPlanes()[0].getBuffer().asInputStream()); image.close(); cropImage(bitmap); } } }, getMainExecutor()); } private void cropImage(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, width / 4, height / 4, width / 2, height / 2); // Use croppedBitmap } } 
  9. How to crop image using Android CameraX library?

    Description: This code uses the CameraX library to capture an image and then crops it using a predefined crop area.

    // build.gradle dependencies { implementation 'androidx.camera:camera-core:1.1.0' implementation 'androidx.camera:camera-camera2:1.1.0' implementation 'androidx.camera:camera-lifecycle:1.1.0' } // CameraActivity.java import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.ImageDecoder; import android.os.Bundle; import android.util.Size; import android.view.TextureView; import android.widget.Button; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.camera.core.ImageAnalysis; import androidx.camera.core.ImageProxy; import androidx.camera.lifecycle.ProcessCameraProvider; import androidx.core.content.ContextCompat; import java.nio.ByteBuffer; import java.util.concurrent.ExecutionException; public class CameraActivity extends AppCompatActivity { private TextureView textureView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera); textureView = findViewById(R.id.textureView); Button captureButton = findViewById(R.id.captureButton); captureButton.setOnClickListener(v -> startCamera()); } private void startCamera() { ProcessCameraProvider.getInstance(this).addListener(() -> { try { ProcessCameraProvider cameraProvider = ProcessCameraProvider.getInstance(this).get(); cameraProvider.unbindAll(); cameraProvider.bindToLifecycle(this, CameraSelector.DEFAULT_BACK_CAMERA, new ImageAnalysis.Builder() .setTargetResolution(new Size(640, 480)) .build() .setAnalyzer(ContextCompat.getMainExecutor(this), image -> { Bitmap bitmap = getBitmapFromImageProxy(image); cropImage(bitmap); image.close(); })); } catch (ExecutionException | InterruptedException e) { e.printStackTrace(); } }, ContextCompat.getMainExecutor(this)); } private Bitmap getBitmapFromImageProxy(ImageProxy image) { ByteBuffer buffer = image.getPlanes()[0].getBuffer(); byte[] bytes = new byte[buffer.remaining()]; buffer.get(bytes); return BitmapFactory.decodeByteArray(bytes, 0, bytes.length); } private void cropImage(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, width / 4, height / 4, width / 2, height / 2); // Use croppedBitmap } } 
  10. How to crop images after selecting from gallery in Android?

    Description: This code allows users to select an image from the gallery and then crop it.

    // build.gradle dependencies { implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' } // MainActivity.java import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.Button; import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.theartofdev.edmodo.cropper.CropImage; public class MainActivity extends AppCompatActivity { private static final int PICK_IMAGE_REQUEST = 1; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = findViewById(R.id.imageView); Button selectImageButton = findViewById(R.id.selectImageButton); selectImageButton.setOnClickListener(v -> openGallery()); } private void openGallery() { Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(intent, PICK_IMAGE_REQUEST); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null) { Uri imageUri = data.getData(); CropImage.activity(imageUri).start(this); } else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) { CropImage.ActivityResult result = CropImage.getActivityResult(data); if (resultCode == RESULT_OK) { Uri resultUri = result.getUri(); imageView.setImageURI(resultUri); } } } } 

More Tags

vue-router uirefreshcontrol angular-httpclient browser-scrollbars unique-constraint xslt-1.0 raspberry-pi code-coverage rake-task kubernetes-secrets

More Programming Questions

More Other animals Calculators

More Retirement Calculators

More Investment Calculators

More Geometry Calculators