Overview

Packages

  • Image
  • None

Classes

  • Horde_Image
  • Horde_Image_Base
  • Horde_Image_Effect
  • Horde_Image_Effect_Border
  • Horde_Image_Effect_Gd_DropShadow
  • Horde_Image_Effect_Gd_RoundCorners
  • Horde_Image_Effect_Gd_TextWatermark
  • Horde_Image_Effect_Gd_Unsharpmask
  • Horde_Image_Effect_Im_Border
  • Horde_Image_Effect_Im_CenterCrop
  • Horde_Image_Effect_Im_Composite
  • Horde_Image_Effect_Im_DropShadow
  • Horde_Image_Effect_Im_LiquidResize
  • Horde_Image_Effect_Im_PhotoStack
  • Horde_Image_Effect_Im_PolaroidImage
  • Horde_Image_Effect_Im_RoundCorners
  • Horde_Image_Effect_Im_TextWatermark
  • Horde_Image_Effect_Im_Unsharpmask
  • Horde_Image_Effect_Imagick_Border
  • Horde_Image_Effect_Imagick_CenterCrop
  • Horde_Image_Effect_Imagick_Composite
  • Horde_Image_Effect_Imagick_DropShadow
  • Horde_Image_Effect_Imagick_LiquidResize
  • Horde_Image_Effect_Imagick_PhotoStack
  • Horde_Image_Effect_Imagick_PolaroidImage
  • Horde_Image_Effect_Imagick_RoundCorners
  • Horde_Image_Effect_Imagick_SmartCrop
  • Horde_Image_Effect_Imagick_TextWatermark
  • Horde_Image_Effect_Imagick_Unsharpmask
  • Horde_Image_Exception
  • Horde_Image_Exif
  • Horde_Image_Exif_Base
  • Horde_Image_Exif_Bundled
  • Horde_Image_Exif_Exiftool
  • Horde_Image_Exif_Parser_Base
  • Horde_Image_Exif_Php
  • Horde_Image_Gd
  • Horde_Image_Im
  • Horde_Image_Imagick
  • Horde_Image_Png
  • Horde_Image_Svg
  • Horde_Image_Swf
  • Horde_Image_Translation
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Image effect for rounding image corners.
 4:  *
 5:  * Copyright 2007-2012 Horde LLC (http://www.horde.org/)
 6:  *
 7:  * @author  Michael J. Rubinsky <mrubinsk@horde.org>
 8:  * @package Image
 9:  */
10: class Horde_Image_Effect_Im_RoundCorners extends Horde_Image_Effect
11: {
12:     /**
13:      * Valid parameters:
14:      *
15:      *  radius - Radius of rounded corners.
16:      *
17:      * @var array
18:      */
19:     protected $_params = array('radius' => 10,
20:                                'background' => 'none',
21:                                'border' => 0,
22:                                'bordercolor' => 'none');
23: 
24:     public function apply()
25:     {
26:         /* Use imagick extension if available */
27:         $round = $this->_params['radius'];
28: 
29:         // Get image dimensions
30:         $dimensions = $this->_image->getDimensions();
31:         $height = $dimensions['height'];
32:         $width = $dimensions['width'];
33: 
34:         $this->_image->addOperation("-size {$width}x{$height} xc:{$this->_params['background']} "
35:             . "-fill {$this->_params['background']} -draw \"matte 0,0 reset\" -tile");
36: 
37:         $this->_image->roundedRectangle(round($round / 2),
38:                                 round($round / 2),
39:                                 $width - round($round / 2) - 2,
40:                                 $height - round($round / 2) - 2,
41:                                 $round + 2,
42:                                 'none',
43:                                 'white');
44: 
45:         // Reset width/height since these might have changed
46:         $this->_image->clearGeometry();
47: 
48:         return true;
49:     }
50: 
51: }
API documentation generated by ApiGen