summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Unterkircher <unki@netshadow.at>2007-06-07 20:05:18 +0000
committerAndreas Unterkircher <unki@netshadow.at>2007-06-07 20:05:18 +0000
commitabc9aff6834b750927ebcf6f7644479a839c3a7f (patch)
tree08742f40f020fbdd4d17683cbae515af5b04a1bb
parentf54ac86a8a53196b268c086c8d5c43fe85aa9e1a (diff)
moved resize_image function to PHPFSPOT class
git-svn-id: file:///var/lib/svn/phpfspot/trunk@46 fa6a889d-dae6-447d-9e79-4ba9a3039384
-rw-r--r--phpfspot.class.php56
-rw-r--r--phpfspot_img.php55
2 files changed, 57 insertions, 54 deletions
diff --git a/phpfspot.class.php b/phpfspot.class.php
index 5df3115..641cc0e 100644
--- a/phpfspot.class.php
+++ b/phpfspot.class.php
@@ -8,6 +8,7 @@ class PHPFSPOT {
var $cfg;
var $db;
+ var $cfg_db;
var $tmpl;
var $tags;
var $avail_tags;
@@ -17,7 +18,8 @@ class PHPFSPOT {
{
$this->cfg = new PHPFSPOT_CFG;
- $this->db = new PHPFSPOT_DB(&$this, $this->cfg->db);
+ $this->db = new PHPFSPOT_DB(&$this, $this->cfg->fspot_db);
+ $this->cfg_db = new PHPFSPOT_DB(&$this, $this->cfg->phpfspot_db);
$this->tmpl = new PHPFSPOT_TMPL($this);
$this->get_tags();
@@ -275,6 +277,58 @@ class PHPFSPOT {
} // showCredits()
+ public function resize_image($image, $width)
+ {
+ // if thumbnail already exists, don't recreate it
+ if(file_exists(dirname($image) ."/thumbs/". $width ."_". basename($image)))
+ return;
+
+ $src_img = @imagecreatefromjpeg($image);
+
+ if($src_img)
+ {
+ /* grabs the height and width */
+ $new_w = imagesx($src_img);
+ $new_h = imagesy($src_img);
+
+ // If requested width is more then the actual image width,
+ // do not generate a thumbnail
+
+ if($width >= $new_w) {
+ imagedestroy($src_img);
+ return;
+ }
+
+ /* calculates aspect ratio */
+ $aspect_ratio = $new_h / $new_w;
+
+ /* sets new size */
+ $new_w = $width;
+ $new_h = abs($new_w * $aspect_ratio);
+
+ /* creates new image of that size */
+ $dst_img = imagecreatetruecolor($new_w,$new_h);
+
+ imagefill($dst_img, 0, 0, ImageColorAllocate($dst_img, 255, 255, 255));
+
+ /* copies resized portion of original image into new image */
+ imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
+
+ /* write down new generated file */
+
+ if(!file_exists(dirname($image) ."/thumbs"))
+ mkdir(dirname($image) ."/thumbs");
+
+ $newfile = dirname($image) ."/thumbs/". $width ."_". basename($image);
+ imagejpeg($dst_img, $newfile, 75);
+
+ /* free your mind */
+ imagedestroy($dst_img);
+ imagedestroy($src_img);
+ }
+
+ } // resize_image()
+
}
?>
diff --git a/phpfspot_img.php b/phpfspot_img.php
index ec6c7db..986fbcc 100644
--- a/phpfspot_img.php
+++ b/phpfspot_img.php
@@ -24,8 +24,8 @@ class PHPFSPOT_IMG {
{
$details = $this->parent->get_photo_details($idx);
- foreach(Array($this->parent->cfg->thumb_width, $this->parent->cfg->photo_width) as $resolution)
- $this->resize_image($this->parent->translate_path($details['directory_path']) ."/". $details['name'], $resolution);
+ foreach(Array($this->parent->cfg->thumb_width, $this->parent->cfg->photo_width) as $resolution)
+ $this->parent->resize_image($this->parent->translate_path($details['directory_path']) ."/". $details['name'], $resolution);
if($width == "")
$fullpath = $this->parent->translate_path($details['directory_path']) ."/". $details['name'];
@@ -50,57 +50,6 @@ class PHPFSPOT_IMG {
} // show()
- public function resize_image($image, $width)
- {
- // if thumbnail already exists, don't recreate it
- if(file_exists(dirname($image) ."/thumbs/". $width ."_". basename($image)))
- return;
-
- $src_img = @imagecreatefromjpeg($image);
-
- if($src_img)
- {
- /* grabs the height and width */
- $new_w = imagesx($src_img);
- $new_h = imagesy($src_img);
-
- // If requested width is more then the actual image width,
- // do not generate a thumbnail
-
- if($width >= $new_w) {
- imagedestroy($src_img);
- return;
- }
-
- /* calculates aspect ratio */
- $aspect_ratio = $new_h / $new_w;
-
- /* sets new size */
- $new_w = $width;
- $new_h = abs($new_w * $aspect_ratio);
-
- /* creates new image of that size */
- $dst_img = imagecreatetruecolor($new_w,$new_h);
-
- imagefill($dst_img, 0, 0, ImageColorAllocate($dst_img, 255, 255, 255));
-
- /* copies resized portion of original image into new image */
- imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
-
- /* write down new generated file */
-
- if(!file_exists(dirname($image) ."/thumbs"))
- mkdir(dirname($image) ."/thumbs");
-
- $newfile = dirname($image) ."/thumbs/". $width ."_". basename($image);
- imagejpeg($dst_img, $newfile, 75);
-
- /* free your mind */
- imagedestroy($dst_img);
- imagedestroy($src_img);
- }
-
- } // resize_image()
}
if(isset($_GET['idx']) && is_numeric($_GET['idx'])) {