summaryrefslogtreecommitdiffstats
path: root/pts-core
diff options
context:
space:
mode:
authorMichael Larabel <michael@phx-laptop.(none)>2008-12-28 20:53:53 -0500
committerMichael Larabel <michael@phx-laptop.(none)>2008-12-28 20:53:53 -0500
commit09ed23bf37c87617628c394bd7aff1bd54f73213 (patch)
tree3aa604345d169b4b531fc0f32632fd42a944af63 /pts-core
parent5ad3fac14d691c2d5a025b19e92929283c6d6d6a (diff)
downloadphoronix-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')
-rw-r--r--pts-core/functions/pts-functions_tests.php2
-rw-r--r--pts-core/objects/bilde_renderer/bilde_jpg_renderer.php34
-rw-r--r--pts-core/objects/bilde_renderer/bilde_png_renderer.php8
-rw-r--r--pts-core/objects/bilde_renderer/bilde_renderer.php2
-rw-r--r--pts-core/objects/bilde_renderer/bilde_svg_renderer.php2
-rw-r--r--pts-core/objects/bilde_renderer/bilde_swf_renderer.php1
-rw-r--r--pts-core/objects/pts_Graph/pts_Graph.php17
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);