How to capture an square image in android? I want to capture an square image (such as 300x300 pixel) by calling Camera through intent in android, how can I do this?
Tap the image you want to adjust. You can adjust the size of an image or rotate it: Resize: Touch and drag the squares along the edges. Rotate: Touch and drag the circle attached to the image.
Image size: This represents the physical size and resolution of an image measured in pixels. For example, A 10 megapixel (MP) camera may provide settings to take pictures in 10.2 MP (3872 x 2592), 5.6 MP (2896 x 1944), and 2.5 MP (1936 x 1296). A higher image size setting means a larger picture and bigger file size.
EDIT: This is deprecated since API level 21.
Use the Camera.Size nested class
http://developer.android.com/reference/android/hardware/Camera.Size.html
From the android reference:
http://developer.android.com/reference/android/hardware/Camera.html
Class Overview
The Camera class is used to set image capture settings, start/stop preview, snap pictures, and retrieve frames for encoding for video. This class is a client for the Camera service, which manages the actual camera hardware.
Make sure that the size is supported by the camera (and most probably it won't). If not, take a picture at the closest resolution and crop it or resize it.
Camera myCamera = Camera.open(0);
List<Camera.Size> sizes = myCamera.getPArameters().getSupportedPictureSizes();
To learn about camera intents, check these questions already in SO:
Android camera intent
Camera intent android
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With