You are here

function epsacrop_crop_image in EPSA Crop - Image Cropping 8.2

Same name and namespace in other branches
  1. 7.2 epsacrop.module \epsacrop_crop_image()

Apply the effect to the image.

@access public

Parameters

stdClass $image:

array $settings:

Return value

void

1 string reference to 'epsacrop_crop_image'
epsacrop_image_effect_info in ./epsacrop.module
Implements hook_image_effect_info.

File

./epsacrop.module, line 328
The main file of module

Code

function epsacrop_crop_image(stdClass $image, $settings) {
  $fid = _epsacrop_get_fid_from_uri($image->source);
  if (!empty($fid) && $fid > 0) {
    $coords = _epsacrop_get_coords_from_fid($fid);
    if (is_string($coords)) {
      $coords = drupal_json_decode($coords);
    }
    if (!empty($coords) && is_array($coords)) {
      $style_name = _epsacrop_get_style_name_from_url();
      if (!empty($style_name)) {
        $style = _epsacrop_load_style($style_name);
        if (!empty($style)) {
          $effect = _epsacrop_get_effect($style);
          if (!empty($effect)) {
            $preset = 'epsacrop-' . $effect['ieid'] . '-' . $effect['isid'];
            $coord = $coords[$fid][$preset];
            if (!empty($coord)) {
              if (image_crop($image, $coord['x'], $coord['y'], $coord['w'], $coord['h'])) {
                return image_resize($image, $settings['width'], $settings['height']);
              }
            }
          }
        }
      }
    }
  }
  return image_crop_effect($image, $settings);
}