summaryrefslogtreecommitdiffstats
path: root/pts-core/objects/bilde_renderer/bilde_png_renderer.php
diff options
context:
space:
mode:
Diffstat (limited to 'pts-core/objects/bilde_renderer/bilde_png_renderer.php')
-rw-r--r--pts-core/objects/bilde_renderer/bilde_png_renderer.php189
1 files changed, 2 insertions, 187 deletions
diff --git a/pts-core/objects/bilde_renderer/bilde_png_renderer.php b/pts-core/objects/bilde_renderer/bilde_png_renderer.php
index c03ff3a..47a414d 100644
--- a/pts-core/objects/bilde_renderer/bilde_png_renderer.php
+++ b/pts-core/objects/bilde_renderer/bilde_png_renderer.php
@@ -5,7 +5,7 @@
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. Bilde == Norwegian for Image.
+ 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
@@ -21,7 +21,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-class bilde_png_renderer extends bilde_renderer
+class bilde_png_renderer extends bilde_gd_renderer
{
public function __construct($width, $height, $embed_identifiers = "")
{
@@ -33,191 +33,6 @@ class bilde_png_renderer extends bilde_renderer
{
return imagepng($this->image, $output_file, $quality);
}
- public function resize_image($width, $height)
- {
- $img = $this->image;
- $this->image = $this->init_new_gd_image($width, $height);
- $this->image_width = $width;
- $this->image_height = $height;
- $this->image_copy_merge($img, 0, 0);
- }
- public function destroy_image()
- {
- imagedestroy($this->image);
- }
-
- public function write_text_left($text_string, $font_type, $font_size, $font_color, $bound_x1, $bound_y1, $bound_x2, $bound_y2, $rotate_text = false)
- {
- $text_dimensions = $this->text_string_dimensions($text_string, $font_type, $font_size);
- $text_width = $text_dimensions[0];
- $text_height = $text_dimensions[1];
-
- if($rotate_text == false)
- {
- $text_x = $bound_x1;
- $text_y = $bound_y1 + round($text_height / 2);
- $rotation = 0;
- }
- else
- {
- $text_x = $bound_x1 - round($text_height / 4);
- $text_y = $bound_y1 + round($text_height / 2);
- $rotation = 270;
- }
- imagettftext($this->image, $font_size, $rotation, $text_x, $text_y, $font_color, $font_type, $text_string);
- }
- public function write_text_right($text_string, $font_type, $font_size, $font_color, $bound_x1, $bound_y1, $bound_x2, $bound_y2, $rotate_text = false)
- {
- $text_dimensions = $this->text_string_dimensions($text_string, $font_type, $font_size);
- $text_width = $text_dimensions[0];
- $text_height = $text_dimensions[1];
-
- if($rotate_text == false)
- {
- $rotation = 0;
- }
- else
- {
- $rotation = 90;
- }
-
- $text_x = $bound_x2 - $text_width;
- $text_y = $bound_y1 + round($text_height / 2);
-
- imagettftext($this->image, $font_size, $rotation, $text_x, $text_y, $font_color, $font_type, $text_string);
- }
- public function write_text_center($text_string, $font_type, $font_size, $font_color, $bound_x1, $bound_y1, $bound_x2, $bound_y2, $rotate_text = false)
- {
- if($bound_x1 != $bound_x2)
- {
- while($this->text_string_width($this->trim_double($text_string, 2), $font_type, $font_size) > abs($bound_x2 - $bound_x1 - 3))
- {
- $font_size -= 0.5;
- }
- }
-
- $text_dimensions = $this->text_string_dimensions(strtoupper($text_string), $font_type, $font_size);
- $text_height = $text_dimensions[1];
-
- $text_dimensions = $this->text_string_dimensions($text_string, $font_type, $font_size);
- $text_width = $text_dimensions[0];
-
- if($rotate_text == false)
- {
- $rotation = 0;
- $text_x = (($bound_x2 - $bound_x1) / 2) + $bound_x1 - round($text_width / 2);
- $text_y = $bound_y1 + $text_height;
- }
- else
- {
- $rotation = 90;
- $text_x = $bound_x1 + $text_height;
- $text_y = (($bound_y2 - $bound_y1) / 2) + $bound_y1 + round($text_width / 2);
- }
-
- imagettftext($this->image, $font_size, $rotation, $text_x, $text_y, $font_color, $font_type, $text_string);
- }
-
- public function draw_rectangle($x1, $y1, $width, $height, $background_color)
- {
- imagefilledrectangle($this->image, $x1, $y1, $width, $height, $background_color);
- }
- public function draw_rectangle_border($x1, $y1, $width, $height, $border_color)
- {
- imagerectangle($this->image, $x1, $y1, $width, $height, $border_color);
- }
- public function draw_polygon($points, $body_color, $border_color = null, $border_width = 0)
- {
- $num_points = floor(count($points) / 2);
-
- imagefilledpolygon($this->image, $points, $num_points, $body_color);
-
- if($border_width > 0 && !empty($border_color))
- {
- // TODO: implement $border_width
- imagepolygon($this->image, $points, $num_points, $border_color);
- }
- }
- public function draw_ellipse($center_x, $center_y, $width, $height, $body_color, $border_color = null, $border_width = 0)
- {
- imagefilledellipse($this->image, $center_x, $center_y, $width, $height, $body_color);
-
- if($border_width > 0 && !empty($border_color))
- {
- // TODO: implement $border_width
- imageellipse($this->image, $center_x, $center_y, $width, $height, $border_color);
- }
- }
- public function draw_line($start_x, $start_y, $end_x, $end_y, $color, $line_width = 1)
- {
- for($i = 0; $i < $line_width; $i++)
- {
- if($start_x == $end_x)
- {
- imageline($this->image, $start_x + $i, $start_y, $end_x + $i, $end_y, $color);
- }
- else
- {
- imageline($this->image, $start_x, $start_y + $i, $end_x, $end_y + $i, $color);
- }
- }
- }
-
- public function png_image_to_type($file)
- {
- return imagecreatefrompng($file);
- }
- public function jpg_image_to_type($file)
- {
- return imagecreatefromjpeg($file);
- }
- public function image_copy_merge($source_image_object, $to_x, $to_y, $source_x = 0, $source_y = 0, $width = -1, $height = -1)
- {
- if($width == -1)
- {
- $width = imagesx($source_image_object);
- }
- if($height == -1)
- {
- $height = imagesy($source_image_object);
- }
-
- imagecopy($this->image, $source_image_object, $to_x, $to_y, $source_x, $source_y, $width, $height);
- }
- public function convert_hex_to_type($hex)
- {
- return imagecolorallocate($this->image, hexdec(substr($hex, 1, 2)), hexdec(substr($hex, 3, 2)), hexdec(substr($hex, 5, 2)));
- }
- public function text_string_dimensions($string, $font_type, $font_size, $predefined_string = false)
- {
- $box_array = imagettfbbox($font_size, 0, $font_type, $string);
- $box_width = $box_array[4] - $box_array[6];
-
- if($predefined_string)
- {
- $box_array = imagettfbbox($size, 0, $font, "AZ@![]()@|_");
- }
-
- $box_height = $box_array[1] - $box_array[7];
-
- return array($box_width, $box_height);
- }
-
- // Privates
-
- private function init_new_gd_image($width, $height)
- {
- $img = imagecreate($width, $height);
-
- imageinterlace($img, true);
-
- if(function_exists("imageantialias"))
- {
- imageantialias($img, true);
- }
-
- return $img;
- }
}
?>