Our transform tool unifies cropping, flipping and rotation operations in one feature. The PhotoEditor SDK holds various preset crop ratios (e.g. 16:9) that can easily be complemented by any crop ratio you deem necessary.
The tool is implemented in the
TransformEditorTool class and displayed using the
TransformToolPanel. If you want to customize the appearance of this tool, take a look at the [styling](/guides/android/v5/customization/styling section.
You can set your own crop configuration using the
There are two types of crop configurations:
- Fixed aspect ratio while keeping the resolution
- Fixed aspect ratio with fixed resolution
You can create a fixed aspect ratio by creating a new
CropAspectConfig with the following parameters:
- A resource identifier for the crop configurations name (optional)
- The width (e.g. 16)
- The height (e.g. 9)
As an example, you could create the following configuration:
ArrayList<CropAspectConfig> cropConfig = new ArrayList<>(); /* Add a the custom crop configuration (optional) */ cropConfig.add(CropAspectConfig.FREE_CROP); /* Add a 16:9 crop configuration */ cropConfig.add(new CropAspectConfig(16, 9)); /* Add a 4:3 crop configuration with name */ cropConfig.add(new CropAspectConfig(R.string.my_4_3_crop_name, 4, 3)); config.setAspects(cropConfig);
Forcing specific ratios
In order to force your users to crop their image to one of the available crop ratios, you can use the
setForcedCropMode of the
PESDKConfig object to set the desired
CropAspectConfig configurations in portrait and landscape mode. This creates a crop overlay when displaying the camera preview and crops the image to the desired aspect ratio when the user captures an image. In this case, you need to remove the
CustomCrop option from the tool as well, to ensure that a user can’t remove the forced crop ratio afterward.