mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-27 19:59:56 +03:00
fix 1 pixel rounding errors when generating multi size from another multi size
git-svn-id: http://piwigo.org/svn/trunk@25793 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
989d3af765
commit
ca8e0928e3
1 changed files with 13 additions and 15 deletions
18
i.php
18
i.php
|
@ -284,9 +284,9 @@ function parse_request()
|
||||||
function try_switch_source(DerivativeParams $params, $original_mtime)
|
function try_switch_source(DerivativeParams $params, $original_mtime)
|
||||||
{
|
{
|
||||||
global $page;
|
global $page;
|
||||||
$original_size = null;
|
if (!isset($page['original_size']))
|
||||||
if (isset($page['original_size']))
|
return false;
|
||||||
{
|
|
||||||
$original_size = $page['original_size'];
|
$original_size = $page['original_size'];
|
||||||
if ($page['rotation_angle']==90 || $page['rotation_angle']==270)
|
if ($page['rotation_angle']==90 || $page['rotation_angle']==270)
|
||||||
{
|
{
|
||||||
|
@ -294,14 +294,11 @@ function try_switch_source(DerivativeParams $params, $original_mtime)
|
||||||
$original_size[0] = $original_size[1];
|
$original_size[0] = $original_size[1];
|
||||||
$original_size[1] = $tmp;
|
$original_size[1] = $tmp;
|
||||||
}
|
}
|
||||||
}
|
$dsize = $params->compute_final_size($original_size);
|
||||||
|
|
||||||
$use_watermark = $params->use_watermark;
|
$use_watermark = $params->use_watermark;
|
||||||
if ($use_watermark)
|
if ($use_watermark)
|
||||||
{
|
{
|
||||||
if (!isset($original_size))
|
|
||||||
return false; // cannot really know if a watermark is required
|
|
||||||
$dsize = $params->compute_final_size($original_size);
|
|
||||||
$use_watermark = $params->will_watermark($dsize);
|
$use_watermark = $params->will_watermark($dsize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,6 +311,10 @@ function try_switch_source(DerivativeParams $params, $original_mtime)
|
||||||
continue;
|
continue;
|
||||||
if ($candidate->max_width() < $params->max_width() || $candidate->max_height() < $params->max_height())
|
if ($candidate->max_width() < $params->max_width() || $candidate->max_height() < $params->max_height())
|
||||||
continue;
|
continue;
|
||||||
|
$candidate_size = $candidate->compute_final_size($original_size);
|
||||||
|
if ($dsize != $params->compute_final_size($candidate_size))
|
||||||
|
continue;
|
||||||
|
|
||||||
if ($params->sizing->max_crop==0)
|
if ($params->sizing->max_crop==0)
|
||||||
{
|
{
|
||||||
if ($candidate->sizing->max_crop!=0)
|
if ($candidate->sizing->max_crop!=0)
|
||||||
|
@ -323,9 +324,6 @@ function try_switch_source(DerivativeParams $params, $original_mtime)
|
||||||
{
|
{
|
||||||
if ($candidate->sizing->max_crop!=0)
|
if ($candidate->sizing->max_crop!=0)
|
||||||
continue; // this could be optimized
|
continue; // this could be optimized
|
||||||
if (!isset($original_size))
|
|
||||||
continue;
|
|
||||||
$candidate_size = $candidate->compute_final_size($original_size);
|
|
||||||
if ($candidate_size[0] < $params->sizing->min_size[0] || $candidate_size[1] < $params->sizing->min_size[1] )
|
if ($candidate_size[0] < $params->sizing->min_size[0] || $candidate_size[1] < $params->sizing->min_size[1] )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue