Added entry for classes/imgsize.php

master
pecesama 2007-09-22 16:09:45 +00:00
parent 30f76eecd6
commit 1304ab1eee
2 changed files with 99 additions and 96 deletions

View File

@ -1,94 +1,94 @@
<?php <?php
if(!defined('entry') || !entry) die('Not a valid page'); if(!defined('entry')) define('entry',true);
header ("Content-type: image/jpeg"); header ("Content-type: image/jpeg");
header('Cache-Control: max-age=172800, must-revalidate'); header('Cache-Control: max-age=172800, must-revalidate');
header('Expires: ' . date('r', time()+120)); header('Expires: ' . date('r', time()+120));
/* /*
JPEG / PNG Image Resizer JPEG / PNG Image Resizer
Parameters (passed via URL): Parameters (passed via URL):
img = path / url of jpeg or png image file img = path / url of jpeg or png image file
percent = if this is defined, image is resized by it's percent = if this is defined, image is resized by it's
value in percent (i.e. 50 to divide by 50 percent) value in percent (i.e. 50 to divide by 50 percent)
w = image width w = image width
h = image height h = image height
constrain = if this is parameter is passed and w and h are set constrain = if this is parameter is passed and w and h are set
to a size value then the size of the resulting image to a size value then the size of the resulting image
is constrained by whichever dimension is smaller is constrained by whichever dimension is smaller
Requires the PHP GD Extension Requires the PHP GD Extension
Outputs the resulting image in JPEG Format Outputs the resulting image in JPEG Format
By: Michael John G. Lopez - www.sydel.net By: Michael John G. Lopez - www.sydel.net
Filename : imgsize.php Filename : imgsize.php
*/ */
$img = $_GET['img']; $img = $_GET['img'];
$percent = $_GET['percent']; $percent = $_GET['percent'];
$constrain = $_GET['constrain']; $constrain = $_GET['constrain'];
$w = $_GET['w']; $w = $_GET['w'];
$h = $_GET['h']; $h = $_GET['h'];
// get image size of img // get image size of img
$x = @getimagesize($img); $x = @getimagesize($img);
// image width // image width
$sw = $x[0]; $sw = $x[0];
// image height // image height
$sh = $x[1]; $sh = $x[1];
if ($percent > 0) { if ($percent > 0) {
// calculate resized height and width if percent is defined // calculate resized height and width if percent is defined
$percent = $percent * 0.01; $percent = $percent * 0.01;
$w = $sw * $percent; $w = $sw * $percent;
$h = $sh * $percent; $h = $sh * $percent;
} else { } else {
if (isset ($w) AND !isset ($h)) { if (isset ($w) AND !isset ($h)) {
// autocompute height if only width is set // autocompute height if only width is set
$h = (100 / ($sw / $w)) * .01; $h = (100 / ($sw / $w)) * .01;
$h = @round ($sh * $h); $h = @round ($sh * $h);
} elseif (isset ($h) AND !isset ($w)) { } elseif (isset ($h) AND !isset ($w)) {
// autocompute width if only height is set // autocompute width if only height is set
$w = (100 / ($sh / $h)) * .01; $w = (100 / ($sh / $h)) * .01;
$w = @round ($sw * $w); $w = @round ($sw * $w);
} elseif (isset ($h) AND isset ($w) AND isset ($constrain)) { } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) {
// get the smaller resulting image dimension if both height // get the smaller resulting image dimension if both height
// and width are set and $constrain is also set // and width are set and $constrain is also set
$hx = (100 / ($sw / $w)) * .01; $hx = (100 / ($sw / $w)) * .01;
$hx = @round ($sh * $hx); $hx = @round ($sh * $hx);
$wx = (100 / ($sh / $h)) * .01; $wx = (100 / ($sh / $h)) * .01;
$wx = @round ($sw * $wx); $wx = @round ($sw * $wx);
if ($hx < $h) { if ($hx < $h) {
$h = (100 / ($sw / $w)) * .01; $h = (100 / ($sw / $w)) * .01;
$h = @round ($sh * $h); $h = @round ($sh * $h);
} else { } else {
$w = (100 / ($sh / $h)) * .01; $w = (100 / ($sh / $h)) * .01;
$w = @round ($sw * $w); $w = @round ($sw * $w);
} }
} }
} }
$im = @ImageCreateFromJPEG ($img) or // Read JPEG Image $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image
$im = @ImageCreateFromPNG ($img) or // or PNG Image $im = @ImageCreateFromPNG ($img) or // or PNG Image
$im = @ImageCreateFromGIF ($img) or // or GIF Image $im = @ImageCreateFromGIF ($img) or // or GIF Image
$im = false; // If image is not JPEG, PNG, or GIF $im = false; // If image is not JPEG, PNG, or GIF
if (!$im) { if (!$im) {
// We get errors from PHP's ImageCreate functions... // We get errors from PHP's ImageCreate functions...
// So let's echo back the contents of the actual image. // So let's echo back the contents of the actual image.
readfile ($img); readfile ($img);
} else { } else {
// Create the resized image destination // Create the resized image destination
$thumb = @ImageCreateTrueColor ($w, $h); $thumb = @ImageCreateTrueColor ($w, $h);
// Copy from image source, resize it, and paste to image destination // Copy from image source, resize it, and paste to image destination
@ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh); @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh);
// Output resized image // Output resized image
@ImageJPEG ($thumb); @ImageJPEG ($thumb);
} }
?> ?>

View File

@ -2,8 +2,10 @@
if(!defined('entry') || !entry) die('Not a valid page'); if(!defined('entry') || !entry) die('Not a valid page');
/* /*
* Created on Sep 15, 2007 * Created on Sep 15, 2007
* Modified on Sep 22, 2007
* *
* Known Entry Points * Known Entry Points
* api.php
* install.php * install.php
* index.php * index.php
* login.php * login.php
@ -17,7 +19,8 @@
* admin/admin.php * admin/admin.php
* admin/comments.php * admin/comments.php
* admin/users.php * admin/users.php
*admin/form.autosave.php * admin/form.autosave.php
* classes/imgsize.php
*/ */