diff options
author | Michael Larabel <michael@phx-laptop.(none)> | 2008-12-28 20:53:53 -0500 |
---|---|---|
committer | Michael Larabel <michael@phx-laptop.(none)> | 2008-12-28 20:53:53 -0500 |
commit | 09ed23bf37c87617628c394bd7aff1bd54f73213 (patch) | |
tree | 3aa604345d169b4b531fc0f32632fd42a944af63 /pts-core | |
parent | 5ad3fac14d691c2d5a025b19e92929283c6d6d6a (diff) | |
download | phoronix-test-suite-upstream-09ed23bf37c87617628c394bd7aff1bd54f73213.tar.gz phoronix-test-suite-upstream-09ed23bf37c87617628c394bd7aff1bd54f73213.tar.xz phoronix-test-suite-upstream-09ed23bf37c87617628c394bd7aff1bd54f73213.zip |
bilde_renderer: Add a JPEG renderer using the GD library
Diffstat (limited to 'pts-core')
7 files changed, 58 insertions, 8 deletions
diff --git a/pts-core/functions/pts-functions_tests.php b/pts-core/functions/pts-functions_tests.php index 750dfe9..aef000d 100644 --- a/pts-core/functions/pts-functions_tests.php +++ b/pts-core/functions/pts-functions_tests.php @@ -233,7 +233,7 @@ function pts_get_results_viewer_xsl_formatted($format_type = "PNG", $width, $hei else { // Default to PNG - $graph_string = "<img><xsl:attribute name=\"src\">result-graphs/<xsl:number value=\"position()\" />.png</xsl:attribute></img>"; + $graph_string = "<img><xsl:attribute name=\"src\">result-graphs/<xsl:number value=\"position()\" />." . strtolower($format_type) . "</xsl:attribute></img>"; } return str_replace("<!-- GRAPH TAGS -->", $graph_string, $raw_xsl); diff --git a/pts-core/objects/bilde_renderer/bilde_jpg_renderer.php b/pts-core/objects/bilde_renderer/bilde_jpg_renderer.php new file mode 100644 index 0000000..6f1a5f1 --- /dev/null +++ b/pts-core/objects/bilde_renderer/bilde_jpg_renderer.php @@ -0,0 +1,34 @@ +<?php + +/* + Phoronix Test Suite + URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/ + Copyright (C) 2008, Phoronix Media + Copyright (C) 2008, Michael Larabel + bilde_png_renderer: The PNG rendering implementation for bilde_renderer. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +class bilde_jpg_renderer extends bilde_gd_renderer +{ + public static $file_extension = "jpg"; + + public function render_image($output_file = null, $quality = 100) + { + return imagejpeg($this->image, $output_file, $quality); + } +} + +?> diff --git a/pts-core/objects/bilde_renderer/bilde_png_renderer.php b/pts-core/objects/bilde_renderer/bilde_png_renderer.php index f1ecba6..b41a0a1 100644 --- a/pts-core/objects/bilde_renderer/bilde_png_renderer.php +++ b/pts-core/objects/bilde_renderer/bilde_png_renderer.php @@ -23,12 +23,8 @@ class bilde_png_renderer extends bilde_gd_renderer { - public function __construct($width, $height, $embed_identifiers = "") - { - $this->image = $this->init_new_gd_image($width, $height); - $this->image_width = $width; - $this->image_height = $height; - } + public static $file_extension = "png"; + public function render_image($output_file = null, $quality = 100) { $quality = floor(9 - (($quality / 100) * 9)); // calculate compression level diff --git a/pts-core/objects/bilde_renderer/bilde_renderer.php b/pts-core/objects/bilde_renderer/bilde_renderer.php index 6eb0599..32dbcf4 100644 --- a/pts-core/objects/bilde_renderer/bilde_renderer.php +++ b/pts-core/objects/bilde_renderer/bilde_renderer.php @@ -28,6 +28,8 @@ abstract class bilde_renderer var $image_height = -1; var $embed_identifiers = null; + public static $file_extension = ""; + abstract function __construct($width, $height, $embed_identifiers = ""); // create the object abstract function render_image($output_file = null, $quality = 100); abstract function resize_image($width, $height); diff --git a/pts-core/objects/bilde_renderer/bilde_svg_renderer.php b/pts-core/objects/bilde_renderer/bilde_svg_renderer.php index b7b87ab..e8a8641 100644 --- a/pts-core/objects/bilde_renderer/bilde_svg_renderer.php +++ b/pts-core/objects/bilde_renderer/bilde_svg_renderer.php @@ -23,6 +23,8 @@ class bilde_svg_renderer extends bilde_renderer { + public static $file_extension = "svg"; + public function __construct($width, $height, $embed_identifiers = null) { $this->image_width = $width; diff --git a/pts-core/objects/bilde_renderer/bilde_swf_renderer.php b/pts-core/objects/bilde_renderer/bilde_swf_renderer.php index c6b0dc0..c38c5b4 100644 --- a/pts-core/objects/bilde_renderer/bilde_swf_renderer.php +++ b/pts-core/objects/bilde_renderer/bilde_swf_renderer.php @@ -24,6 +24,7 @@ class bilde_swf_renderer extends bilde_renderer { var $swf_font = null; + public static $file_extension = "swf"; public function __construct($width, $height, $embed_identifiers = "") { diff --git a/pts-core/objects/pts_Graph/pts_Graph.php b/pts-core/objects/pts_Graph/pts_Graph.php index dd843a3..2e23710 100644 --- a/pts-core/objects/pts_Graph/pts_Graph.php +++ b/pts-core/objects/pts_Graph/pts_Graph.php @@ -133,7 +133,14 @@ abstract class pts_Graph } else if($gd_available && getenv("SVG_DEBUG") == false) { - $this->setRenderer("PNG"); + if(getenv("JPG_DEBUG") !== false) + { + $this->setRenderer("JPG"); + } + else + { + $this->setRenderer("PNG"); + } } else { @@ -151,6 +158,10 @@ abstract class pts_Graph { $this->graph_renderer = "SWF"; } + else if($renderer == "JPG") + { + $this->graph_renderer = "JPG"; + } else { $this->graph_renderer = "PNG"; @@ -392,6 +403,10 @@ abstract class pts_Graph { $this->graph_image = new bilde_svg_renderer($this->graph_attr_width, $this->graph_attr_height, $this->graph_internal_identifiers); } + else if($this->graph_renderer == "JPG") + { + $this->graph_image = new bilde_jpg_renderer($this->graph_attr_width, $this->graph_attr_height, $this->graph_internal_identifiers); + } else if($this->graph_renderer == "SWF") { $this->graph_image = new bilde_swf_renderer($this->graph_attr_width, $this->graph_attr_height, $this->graph_internal_identifiers); |