summaryrefslogtreecommitdiffstats
path: root/pts-core/objects
diff options
context:
space:
mode:
Diffstat (limited to 'pts-core/objects')
-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
6 files changed, 57 insertions, 7 deletions
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);