You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-commits@incubator.apache.org by sh...@apache.org on 2009/09/14 20:05:49 UTC
svn commit: r814822 - in /incubator/olio/webapp/php/trunk:
classes/ImageUtil.php public_html/addEventResult.php
public_html/addPersonResult.php
Author: shanti
Date: Mon Sep 14 20:05:48 2009
New Revision: 814822
URL: http://svn.apache.org/viewvc?rev=814822&view=rev
Log:
Fix for OLIO-108. Replaced call to 'imageCopyResampled' with 'fastImageCopyResampled'. Also
changed thumbnail size to be slightly more consistent with initial thumbnails.
Modified:
incubator/olio/webapp/php/trunk/classes/ImageUtil.php
incubator/olio/webapp/php/trunk/public_html/addEventResult.php
incubator/olio/webapp/php/trunk/public_html/addPersonResult.php
Modified: incubator/olio/webapp/php/trunk/classes/ImageUtil.php
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/php/trunk/classes/ImageUtil.php?rev=814822&r1=814821&r2=814822&view=diff
==============================================================================
--- incubator/olio/webapp/php/trunk/classes/ImageUtil.php (original)
+++ incubator/olio/webapp/php/trunk/classes/ImageUtil.php Mon Sep 14 20:05:48 2009
@@ -43,7 +43,7 @@
$thumb_h=$new_h;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
- imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
+ fastimagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y,3.25);
if ($img_type == "png") {
imagepng($dst_img, $thumbname);
} else {
@@ -52,5 +52,30 @@
imagedestroy($dst_img);
imagedestroy($src_img);
}
+
+ function fastimagecopyresampled (&$dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h, $quality = 3) {
+ // Plug-and-Play fastimagecopyresampled function replaces much slower imagecopyresampled.
+ // Just include this function and change all "imagecopyresampled" references to "fastimagecopyresampled".
+ // Typically from 30 to 60 times faster when reducing high resolution images down to thumbnail size using the default quality setting.
+ // Author: Tim Eckel - Date: 09/07/07 - Version: 1.1 - Project: FreeRingers.net - Freely distributable - These comments must remain.
+ //
+ // Optional "quality" parameter (defaults is 3). Fractional values are allowed, for example
+ 1.5. Must be greater than zero.
+ // Between 0 and 1 = Fast, but mosaic results, closer to 0 increases the mosaic effect.
+ // 1 = Up to 350 times faster. Poor results, looks very similar to imagecopyresized.
+ // 2 = Up to 95 times faster. Images appear a little sharp, some prefer this over a quality of 3.
+ // 3 = Up to 60 times faster. Will give high quality smooth results very close to imagecopyresampled, just faster.
+ // 4 = Up to 25 times faster. Almost identical to imagecopyresampled for most images.
+ // 5 = No speedup. Just uses imagecopyresampled, no advantage over imagecopyresampled.
+
+ if (empty($src_image) || empty($dst_image) || $quality <= 0) { return false; }
+ if ($quality < 5 && (($dst_w * $quality) < $src_w || ($dst_h * $quality) < $src_h)) {
+ $temp = imagecreatetruecolor ($dst_w * $quality + 1, $dst_h * $quality + 1);
+ imagecopyresized ($temp, $src_image, 0, 0, $src_x, $src_y, $dst_w * $quality + 1, $dst_h * $quality + 1, $src_w, $src_h);
+ imagecopyresampled ($dst_image, $temp, $dst_x, $dst_y, 0, 0, $dst_w, $dst_h, $dst_w * $quality, $dst_h * $quality);
+ imagedestroy ($temp);
+ } else imagecopyresampled ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
+ return true;
+ }
}
?>
Modified: incubator/olio/webapp/php/trunk/public_html/addEventResult.php
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/php/trunk/public_html/addEventResult.php?rev=814822&r1=814821&r2=814822&view=diff
==============================================================================
--- incubator/olio/webapp/php/trunk/public_html/addEventResult.php (original)
+++ incubator/olio/webapp/php/trunk/public_html/addEventResult.php Mon Sep 14 20:05:48 2009
@@ -221,7 +221,7 @@
throw new Exception("Error moving uploaded file to $modified_image_name");
}
$thumb_location = $resourcedir . $imagethumb;
- ImageUtil::createThumb($user_image_location, $thumb_location, 133, 99);
+ ImageUtil::createThumb($user_image_location, $thumb_location, 120, 120);
if (!isset($fs))
$fs = FileSystem::getInstance();
if (!$fs->create($user_image_location, "NO_OP", "NO_OP")) {
Modified: incubator/olio/webapp/php/trunk/public_html/addPersonResult.php
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/php/trunk/public_html/addPersonResult.php?rev=814822&r1=814821&r2=814822&view=diff
==============================================================================
--- incubator/olio/webapp/php/trunk/public_html/addPersonResult.php (original)
+++ incubator/olio/webapp/php/trunk/public_html/addPersonResult.php Mon Sep 14 20:05:48 2009
@@ -128,7 +128,7 @@
// 6. Generate the thumbnails.
$thumb_location = $resourcedir . $imagethumb;
- ImageUtil::createThumb($user_image_location, $thumb_location, 133, 99);
+ ImageUtil::createThumb($user_image_location, $thumb_location, 120, 120);
// 7. Store the image.
$fs = FileSystem::getInstance();