Mercurial > hg > soundsoftware-site
diff .svn/pristine/a8/a8fcb4e60d3d6ca540df4b1fe8b5129d6584c578.svn-base @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author | Chris Cannam |
---|---|
date | Fri, 24 Feb 2012 19:09:32 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.svn/pristine/a8/a8fcb4e60d3d6ca540df4b1fe8b5129d6584c578.svn-base Fri Feb 24 19:09:32 2012 +0000 @@ -0,0 +1,64 @@ +# The MIT License +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# This implements native php methods used by tcpdf, which have had to be +# reimplemented within Ruby. + +module RFPDF + + # http://uk2.php.net/getimagesize + def getimagesize(filename) + out = Hash.new + out[2] = ImageScience.image_type(filename) + + image = ImageScience.with_image(filename) do |img| + out[0] = image.width + out[1] = image.height + + # These are actually meant to return integer values But I couldn't seem to find anything saying what those values are. + # So for now they return strings. The only place that uses this at the moment is the parsejpeg method, so I've changed that too. + case out[2] + when "GIF" + out['mime'] = "image/gif" + when "JPEG" + out['mime'] = "image/jpeg" + when "PNG" + out['mime'] = "image/png" + when "WBMP" + out['mime'] = "image/vnd.wap.wbmp" + when "XPM" + out['mime'] = "image/x-xpixmap" + end + out[3] = "height=\"#{image.height}\" width=\"#{image.width}\"" + + if image.colorspace == "CMYK" || image.colorspace == "RGBA" + out['channels'] = 4 + elsif image.colorspace == "RGB" + out['channels'] = 3 + end + + out['bits'] = image.depth + out['bits'] /= out['channels'] if out['channels'] + end + + out + end + +end \ No newline at end of file