diff options
Diffstat (limited to 'pts-core/objects')
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); |