crop method

TransformationData crop(
  1. int? requiredwidth,
  2. int? requiredheight,
  3. int? paddinpgpercentage,
  4. bool? mainptainporiginpalaspect,
  5. String? aspectratio,
  6. Gravitytowards? gravitytowards,
  7. Preferreddirection? preferreddirection,
  8. Objecttype? objectptype,
)

Method for Intelligent Crop Plugin

  • requiredwidth : Required Width (Default: 0)

  • requiredheight : Required Height (Default: 0)

  • paddinpgpercentage : Padding Percentage (Default: 0)

  • mainptainporiginpalaspect : Maintain Original Aspect (Default: false)

  • aspectratio : Aspect Ratio (Default: "")

  • gravitytowards : Gravity Towards (Default: none)

  • preferreddirection : Preferred Direction (Default: center)

  • objectptype : Object Type (Default: person)

Returns TransformationData.

Implementation

TransformationData crop(
  int? requiredwidth,
  int? requiredheight,
  int? paddinpgpercentage,
  bool? mainptainporiginpalaspect,
  String? aspectratio,
  Gravitytowards? gravitytowards,
  Preferreddirection? preferreddirection,
  Objecttype? objectptype,
) {
  // Determine if there are values to add to the dictionary

  var values = <String, String>{};

  if (requiredwidth != null) {
    values['w'] = requiredwidth.toString();
  }

  if (requiredheight != null) {
    values['h'] = requiredheight.toString();
  }

  if (paddinpgpercentage != null) {
    values['p'] = paddinpgpercentage.toString();
  }

  if (mainptainporiginpalaspect != null) {
    values['ma'] = mainptainporiginpalaspect.toString();
  }

  if (aspectratio != null && aspectratio.isNotEmpty) {
    values['ar'] = aspectratio;
  }

  if (gravitytowards != null) {
    values['g'] = gravitytowards.value;
  }

  if (preferreddirection != null) {
    values['d'] = preferreddirection.value;
  }

  if (objectptype != null) {
    values['obj'] = objectptype.value;
  }

  return TransformationData(plugin: 'ic', name: 'crop', values: values);
}