/**
  * @return int[]
  */
 function compute_final_size($in_size)
 {
     $this->sizing->compute($in_size, null, $crop_rect, $scale_size);
     return $scale_size != null ? $scale_size : $in_size;
 }
Example #2
0
File: i.php Project: donseba/Piwigo
if ($scaled_size) {
    $changes++;
    $image->resize($scaled_size[0], $scaled_size[1]);
    $d_size = $scaled_size;
    $timing['scale'] = time_step($step);
}
if ($params->sharpen) {
    $changes += $image->sharpen($params->sharpen);
    $timing['sharpen'] = time_step($step);
}
if ($params->will_watermark($d_size)) {
    $wm = ImageStdParams::get_watermark();
    $wm_image = new pwg_image(PHPWG_ROOT_PATH . $wm->file);
    $wm_size = array($wm_image->get_width(), $wm_image->get_height());
    if ($d_size[0] < $wm_size[0] or $d_size[1] < $wm_size[1]) {
        $wm_scaling_params = SizingParams::classic($d_size[0], $d_size[1]);
        $wm_scaling_params->compute($wm_size, null, $tmp, $wm_scaled_size);
        $wm_size = $wm_scaled_size;
        $wm_image->resize($wm_scaled_size[0], $wm_scaled_size[1]);
    }
    $x = round($wm->xpos / 100 * ($d_size[0] - $wm_size[0]));
    $y = round($wm->ypos / 100 * ($d_size[1] - $wm_size[1]));
    if ($image->compose($wm_image, $x, $y, $wm->opacity)) {
        $changes++;
        if ($wm->xrepeat || $wm->yrepeat) {
            $xpad = $wm_size[0] + max(30, round($wm_size[0] / 4));
            $ypad = $wm_size[1] + max(30, round($wm_size[1] / 4));
            for ($i = -$wm->xrepeat; $i <= $wm->xrepeat; $i++) {
                for ($j = -$wm->yrepeat; $j <= $wm->yrepeat; $j++) {
                    if (!$i && !$j) {
                        continue;
 /**
  * @return DerivativeParams[]
  */
 static function get_default_sizes()
 {
     $arr = array(IMG_SQUARE => new DerivativeParams(SizingParams::square(120, 120)), IMG_THUMB => new DerivativeParams(SizingParams::classic(144, 144)), IMG_XXSMALL => new DerivativeParams(SizingParams::classic(240, 240)), IMG_XSMALL => new DerivativeParams(SizingParams::classic(432, 324)), IMG_SMALL => new DerivativeParams(SizingParams::classic(576, 432)), IMG_MEDIUM => new DerivativeParams(SizingParams::classic(792, 594)), IMG_LARGE => new DerivativeParams(SizingParams::classic(1008, 756)), IMG_XLARGE => new DerivativeParams(SizingParams::classic(1224, 918)), IMG_XXLARGE => new DerivativeParams(SizingParams::classic(1656, 1242)));
     $now = time();
     foreach ($arr as $params) {
         $params->last_mod_time = $now;
     }
     return $arr;
 }