From 23a34783631a54703aa67aa0de81c404c59ef4ef Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 31 Jul 2005 13:50:30 +0200 Subject: optimized Image metadata handling darcs-hash:20050731115030-7ad00-2a1a423985864f0daae57545c2f3945abfc10257.gz --- inc/JpegMeta.php | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) (limited to 'inc/JpegMeta.php') diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index 656e98625..b9f0908d4 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -327,6 +327,36 @@ class JpegMeta return true; } + /** + * Calculates the multiplier needed to resize the image to the given + * dimensions + * + * @author Andreas Gohr + */ + function getResizeRatio($maxwidth,$maxheight=0){ + if(!$maxheight) $maxheight = $maxwidth; + + $w = $this->getField('File.Width'); + $h = $this->getField('File.Height'); + + $ratio = 1; + if($w >= $h){ + if($w >= $maxwidth){ + $ratio = $maxwidth/$w; + }elseif($h > $maxheight){ + $ratio = $maxheight/$h; + } + }else{ + if($h >= $maxheight){ + $ratio = $maxheight/$h; + }elseif($w > $maxwidth){ + $ratio = $maxwidth/$w; + } + } + return $ratio; + } + + /** * Set an IPTC field * @@ -1090,12 +1120,18 @@ class JpegMeta return true; } - /*************************************************************/ + /** + * Gets basic info from the file - should work with non-JPEGs + * + * @author Sebastian Delmont + * @author Andreas Gohr + */ function _parseFileInfo() { if (file_exists($this->_fileName)) { $this->_info['file'] = array(); $this->_info['file']['Name'] = basename($this->_fileName); + $this->_info['file']['Path'] = realpath($this->_fileName); $this->_info['file']['Size'] = filesize($this->_fileName); if ($this->_info['file']['Size'] < 1024) { $this->_info['file']['NiceSize'] = $this->_info['file']['Size'] . 'B'; @@ -1111,7 +1147,6 @@ class JpegMeta } $this->_info['file']['UnixTime'] = filemtime($this->_fileName); - // Andreas Gohr // get image size directly from file $size = getimagesize($this->_fileName); $this->_info['file']['Width'] = $size[0]; -- cgit v1.2.3