diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-09-01 17:49:11 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-09-01 17:49:11 +0000 |
commit | 18b7e4254bde471e4c2060a430b3f219f917c4b9 (patch) | |
tree | 893a4cdabfd4c3b5f43424a203ea4094797a6b7f /modules | |
parent | c4a548f64d3c941a36edd03903ba388c6c32c1ae (diff) | |
download | brdo-18b7e4254bde471e4c2060a430b3f219f917c4b9.tar.gz brdo-18b7e4254bde471e4c2060a430b3f219f917c4b9.tar.bz2 |
#269337 by egfrith and wrunt: Added support for more image types (PDF, TIFF, EPS, etc.).
Diffstat (limited to 'modules')
-rw-r--r-- | modules/simpletest/tests/image.test | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/image_test.module | 12 | ||||
-rw-r--r-- | modules/system/image.gd.inc | 33 |
3 files changed, 44 insertions, 3 deletions
diff --git a/modules/simpletest/tests/image.test b/modules/simpletest/tests/image.test index 3eeb602a8..5ebd6bdc2 100644 --- a/modules/simpletest/tests/image.test +++ b/modules/simpletest/tests/image.test @@ -96,7 +96,7 @@ class ImageToolkitUnitTest extends ImageToolkitTestCase { $image = image_load($this->file, $this->toolkit); $this->assertTrue(is_object($image), t('Returned an object.')); $this->assertEqual($this->toolkit, $image->toolkit, t('Image had toolkit set.')); - $this->assertToolkitOperationsCalled(array('load')); + $this->assertToolkitOperationsCalled(array('load', 'get_info')); } /** diff --git a/modules/simpletest/tests/image_test.module b/modules/simpletest/tests/image_test.module index 1428d303c..695485730 100644 --- a/modules/simpletest/tests/image_test.module +++ b/modules/simpletest/tests/image_test.module @@ -58,8 +58,8 @@ function image_test_get_all_calls() { * Store the values passed to a toolkit call. * * @param $op - * One of the image toolkit operations: 'load', 'save', 'settings', 'resize', - * 'rotate', 'crop', 'desaturate'. + * One of the image toolkit operations: 'get_info', 'load', 'save', + * 'settings', 'resize', 'rotate', 'crop', 'desaturate'. * @param $args * Values passed to hook. * @see image_test_get_all_calls() @@ -80,6 +80,14 @@ function image_test_settings() { } /** + * Image toolkit's get_info operation. + */ +function image_test_get_info(stdClass $image) { + _image_test_log_call('get_info', array($image)); + return array(); +} + +/** * Image tookit's load operation. */ function image_test_load(stdClass $image) { diff --git a/modules/system/image.gd.inc b/modules/system/image.gd.inc index 23e34677b..e6c70e76b 100644 --- a/modules/system/image.gd.inc +++ b/modules/system/image.gd.inc @@ -321,5 +321,38 @@ function image_gd_create_tmp(stdClass $image, $width, $height) { } /** + * Get details about an image. + * + * @param $image + * An image object. + * @return + * FALSE, if the file could not be found or is not an image. Otherwise, a + * keyed array containing information about the image: + * - "width": Width, in pixels. + * - "height": Height, in pixels. + * - "extension": Commonly used file extension for the image. + * - "mime_type": MIME type ('image/jpeg', 'image/gif', 'image/png'). + * + * @see image_get_info() + */ +function image_gd_get_info(stdClass $image) { + $details = FALSE; + $data = getimagesize($image->source); + + if (isset($data) && is_array($data)) { + $extensions = array('1' => 'gif', '2' => 'jpg', '3' => 'png'); + $extension = array_key_exists($data[2], $extensions) ? $extensions[$data[2]] : ''; + $details = array( + 'width' => $data[0], + 'height' => $data[1], + 'extension' => $extension, + 'mime_type' => $data['mime'], + ); + } + + return $details; +} + +/** * @} End of "ingroup image". */ |