Overview

Packages

  • Ansel
  • None

Classes

  • Ansel
  • Ansel_Ajax_Application
  • Ansel_Ajax_Imple_EditCaption
  • Ansel_Ajax_Imple_EditFaces
  • Ansel_Ajax_Imple_EditGalleryFaces
  • Ansel_Ajax_Imple_Embed
  • Ansel_Ajax_Imple_GallerySlugCheck
  • Ansel_Ajax_Imple_ImageSaveGeotag
  • Ansel_Ajax_Imple_LocationAutoCompleter
  • Ansel_Ajax_Imple_MapLayerSelect
  • Ansel_Ajax_Imple_TagActions
  • Ansel_Ajax_Imple_ToggleGalleryActions
  • Ansel_Ajax_Imple_ToggleOtherGalleries
  • Ansel_Ajax_Imple_UploadNotification
  • Ansel_Api
  • Ansel_Exception
  • Ansel_Faces
  • Ansel_Faces_Base
  • Ansel_Faces_Facedetect
  • Ansel_Faces_User
  • Ansel_Factory_Faces
  • Ansel_Factory_Storage
  • Ansel_Factory_Styles
  • Ansel_Form_Ecard
  • Ansel_Form_Image
  • Ansel_Form_ImageDate
  • Ansel_Form_Upload
  • Ansel_Gallery
  • Ansel_Gallery_Decorator_Date
  • Ansel_GalleryMode_Base
  • Ansel_GalleryMode_Date
  • Ansel_GalleryMode_Normal
  • Ansel_Image
  • Ansel_ImageGenerator
  • Ansel_ImageGenerator_Mini
  • Ansel_ImageGenerator_PolaroidThumb
  • Ansel_ImageGenerator_PolaroidThumbStack
  • Ansel_ImageGenerator_RoundedThumb
  • Ansel_ImageGenerator_RoundedThumbStack
  • Ansel_ImageGenerator_Screen
  • Ansel_ImageGenerator_ShadowThumb
  • Ansel_ImageGenerator_ShadowThumbStack
  • Ansel_ImageGenerator_SquareThumb
  • Ansel_ImageGenerator_Thumb
  • Ansel_LoginTasks_SystemTask_Upgrade
  • Ansel_Report
  • Ansel_Report_letter
  • Ansel_Report_mail
  • Ansel_Report_tickets
  • Ansel_Search
  • Ansel_Search_exif
  • Ansel_Search_Tag
  • Ansel_Storage
  • Ansel_Style
  • Ansel_Tagger
  • Ansel_Test
  • Ansel_Tile_DateGallery
  • Ansel_Tile_Gallery
  • Ansel_Tile_Image
  • Ansel_View_Ansel
  • Ansel_View_Base
  • Ansel_View_EmbeddedRenderer_GalleryLink
  • Ansel_View_EmbeddedRenderer_Mini
  • Ansel_View_EmbeddedRenderer_Slideshow
  • Ansel_View_Gallery
  • Ansel_View_GalleryProperties
  • Ansel_View_GalleryRenderer_Base
  • Ansel_View_GalleryRenderer_Gallery
  • Ansel_View_GalleryRenderer_GalleryLightbox
  • Ansel_View_Image
  • Ansel_View_List
  • Ansel_View_Results
  • Ansel_View_Slideshow
  • Ansel_View_Upload
  • Ansel_Widget
  • Ansel_Widget_Actions
  • Ansel_Widget_Base
  • Ansel_Widget_GalleryFaces
  • Ansel_Widget_Geotag
  • Ansel_Widget_ImageFaces
  • Ansel_Widget_Links
  • Ansel_Widget_OtherGalleries
  • Ansel_Widget_OwnerFaces
  • Ansel_Widget_SimilarPhotos
  • Ansel_Widget_Tags
  • Ansel_XPPublisher
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * ImageGenerator to create the shadowsharpthumb view (sharp corners, shadowed)
 4:  *
 5:  * @author Michael J. Rubinsky <mrubinsk@horde.org>
 6:  * @package Ansel
 7:  */
 8: class Ansel_ImageGenerator_ShadowThumb extends Ansel_ImageGenerator
 9: {
10:     public $need = array('DropShadow');
11: 
12:     public function __construct($params)
13:     {
14:         parent::__construct($params);
15:         $this->title = _("Drop Shadows");
16:     }
17: 
18:     /**
19:      *
20:      * @return boolean
21:      */
22:     protected function _create()
23:     {
24:         $this->_image->resize(min($GLOBALS['conf']['thumbnail']['width'], $this->_dimensions['width']),
25:                               min($GLOBALS['conf']['thumbnail']['height'], $this->_dimensions['height']),
26:                               true);
27: 
28:         /* Don't bother with these effects for a stack image
29:          * (which will have a negative gallery_id). */
30:         if ($this->_image->gallery > 0) {
31:             if (is_null($this->_style)) {
32:                 $gal = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($this->_image->gallery);
33:                 $styleDef = $gal->getStyle();
34:             } else {
35:                 $styleDef = $this->_style;
36:             }
37: 
38:             try {
39:                 $this->_image->addEffect('Border', array('bordercolor' => '#333', 'borderwidth' => 1));
40:                 $this->_image->addEffect('DropShadow',
41:                                          array('background' => $styleDef->background,
42:                                                'padding' => 5,
43:                                                'distance' => 8,
44:                                                'fade' => 2));
45: 
46:                 if ($GLOBALS['conf']['thumbnail']['unsharp'] && Ansel::isAvailable('Unsharpmask')) {
47:                     $this->_image->addEffect('Unsharpmask',
48:                                              array('radius' => $GLOBALS['conf']['thumbnail']['radius'],
49:                                                    'threshold' => $GLOBALS['conf']['thumbnail']['threshold'],
50:                                                    'amount' => $GLOBALS['conf']['thumbnail']['amount']));
51:                     $this->_image->applyEffects();
52:                 }
53: 
54:                 $this->_image->applyEffects();
55:             } catch (Horde_Image_Exception $e) {
56:                 throw new Ansel_Exception($e);
57:             }
58: 
59:             return $this->_image->getHordeImage();
60:         }
61:     }
62: 
63: }
64: 
API documentation generated by ApiGen