mirror of
https://github.com/sbrl/Pepperminty-Wiki.git
synced 2024-11-26 05:32:59 +00:00
Continue work on aspect ratio of preview images
This commit is contained in:
parent
612bf0ce74
commit
db81d17c5e
3 changed files with 64 additions and 15 deletions
|
@ -1386,14 +1386,31 @@ register_module([
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$aspect_ratio = imagesx($preview) / imagesy($preview);
|
$raw_width = imagesx($preview);
|
||||||
|
$raw_height = imagesy($preview);
|
||||||
|
$aspect_ratio = $raw_width / $raw_height;
|
||||||
|
|
||||||
$target_width = intval($_GET["size"]);
|
$target_size = 512;
|
||||||
if($target_width < $settings->min_preview_size)
|
if(isset($_GET["size"]))
|
||||||
$target_width = $settings->min_preview_size;
|
$target_size = intval($_GET["size"]);
|
||||||
if($target_width > $settings->max_preview_size)
|
if($target_size < $settings->min_preview_size)
|
||||||
$target_width = $settings->max_preview_size;
|
$target_size = $settings->min_preview_size;
|
||||||
$target_height = $target_width;
|
if($target_size > $settings->max_preview_size)
|
||||||
|
$target_size = $settings->max_preview_size;
|
||||||
|
|
||||||
|
if($raw_width > $raw_height)
|
||||||
|
{
|
||||||
|
$preview_width = $target_size;
|
||||||
|
$preview_height = $target_size * $aspect_ratio;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$preview_height = $target_size;
|
||||||
|
$preview_width = $target_size * $aspect_ratio;
|
||||||
|
}
|
||||||
|
header("content-type: text/plain");
|
||||||
|
echo("raw: $raw_width x $raw_height\n");
|
||||||
|
echo("resized: $preview_width x $preview_height\n");
|
||||||
|
|
||||||
// Todo Scale image to fit inside size.
|
// Todo Scale image to fit inside size.
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
"author": "Starbeamrainbowlabs",
|
"author": "Starbeamrainbowlabs",
|
||||||
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File:' prefix.",
|
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File:' prefix.",
|
||||||
"id": "feature-upload",
|
"id": "feature-upload",
|
||||||
"lastupdate": 1445504176,
|
"lastupdate": 1445630469,
|
||||||
"optional": false
|
"optional": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -161,18 +161,50 @@ register_module([
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$aspect_ratio = imagesx($preview) / imagesy($preview);
|
$raw_width = imagesx($preview);
|
||||||
|
$raw_height = imagesy($preview);
|
||||||
|
$aspect_ratio = $raw_width / $raw_height;
|
||||||
|
|
||||||
$target_width = intval($_GET["size"]);
|
// Determine the target size of the image
|
||||||
if($target_width < $settings->min_preview_size)
|
$target_size = 512;
|
||||||
$target_width = $settings->min_preview_size;
|
if(isset($_GET["size"]))
|
||||||
if($target_width > $settings->max_preview_size)
|
$target_size = intval($_GET["size"]);
|
||||||
$target_width = $settings->max_preview_size;
|
if($target_size < $settings->min_preview_size)
|
||||||
$target_height = $target_width;
|
$target_size = $settings->min_preview_size;
|
||||||
|
if($target_size > $settings->max_preview_size)
|
||||||
|
$target_size = $settings->max_preview_size;
|
||||||
|
|
||||||
|
// Set the preview size equal to the original image dimensions
|
||||||
|
$preview_width = $raw_width;
|
||||||
|
$preview_height = $raw_height;
|
||||||
|
// If the original image doesn't fit inside the box, resize
|
||||||
|
// it's dimensions, preserving aspect ratio
|
||||||
|
if($raw_width > $target_size || $raw_height > $target_size)
|
||||||
|
{
|
||||||
|
if($raw_width > $raw_height)
|
||||||
|
{
|
||||||
|
$preview_width = $target_size;
|
||||||
|
$preview_height = $target_size * $aspect_ratio;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$preview_height = $target_size;
|
||||||
|
$preview_width = $target_size * $aspect_ratio;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
header("content-type: text/plain");
|
||||||
|
echo("raw: $raw_width x $raw_height\n");
|
||||||
|
echo("resized: $preview_width x $preview_height\n");
|
||||||
|
|
||||||
// Todo Scale image to fit inside size.
|
// Todo Scale image to fit inside size.
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
http_response_code(501);
|
||||||
|
exit("Unrecognised file type.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo render a preview here
|
// todo render a preview here
|
||||||
|
|
Loading…
Reference in a new issue