Ignore:
Timestamp:
Jan 5, 2012, 10:35:25 PM (12 years ago)
Author:
rvelices
Message:

feature 2548 multisize - sharpen + watermarks (partially implemented / no test with imagick extension)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/derivative_std_params.inc.php

    r12820 r12851  
    2929define('IMG_CUSTOM', 'custom');
    3030
     31final class WatermarkParams
     32{
     33  public $file = '';
     34  public $min_size = array(500,500);
     35  public $xpos = 50;
     36  public $ypos = 50;
     37  public $xrepeat = 0;
     38  public $opacity = 100;
     39}
     40
     41
    3142final class ImageStdParams
    3243{
     
    3546  private static $type_map = array();
    3647  private static $undefined_type_map = array();
     48  private static $watermark;
    3749
    3850  static function get_all_types()
     
    6173  }
    6274
     75  static function get_watermark()
     76  {
     77    return self::$watermark;
     78  }
     79
    6380  static function load_from_db()
    6481  {
     
    6885    {
    6986      self::$type_map = $arr['d'];
     87      self::$watermark = @$arr['w'];
     88      if (!self::$watermark) self::$watermark = new WatermarkParams();
    7089    }
    7190    else
     
    83102    {
    84103      self::$type_map = $arr['d'];
     104      self::$watermark = @$arr['w'];
     105      if (!self::$watermark) self::$watermark = new WatermarkParams();
    85106    }
    86107    else
     
    91112  }
    92113
     114  static function set_watermark($watermark)
     115  {
     116    self::$watermark = $watermark;
     117  }
     118 
    93119  static function set_and_save($map)
    94120  {
     
    97123
    98124    $ser = serialize( array(
    99       'd' => self::$type_map
     125      'd' => self::$type_map,
     126      'w' => self::$watermark,
    100127      ) );
    101128    conf_update_param('derivatives', addslashes($ser) );
     
    104131  }
    105132
    106   static function make_default()
     133  private static function make_default()
    107134  {
     135    self::$watermark = new WatermarkParams();
    108136    self::$type_map[IMG_SQUARE] = new DerivativeParams( SizingParams::square(100,100) );
    109137    self::$type_map[IMG_THUMB] = new DerivativeParams( SizingParams::classic(144,144) );
     
    115143  }
    116144
     145  public static function apply_global($params)
     146  {
     147    if (!empty(self::$watermark->file) &&
     148        (self::$watermark->min_size[0]<=$params->sizing->ideal_size[0]
     149        && self::$watermark->min_size[1]<=$params->sizing->ideal_size[1] ) )
     150    {
     151      $params->use_watermark = true;
     152    }
     153  }
     154 
    117155  private static function build_maps()
    118156  {
     
    120158    {
    121159      $params->type = $type;
     160      self::apply_global($params);
    122161    }
    123162    self::$all_type_map = self::$type_map;
Note: See TracChangeset for help on using the changeset viewer.