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.php35
1 files changed, 27 insertions, 8 deletions
diff --git a/pts-core/objects/bilde_renderer/bilde_png_renderer.php b/pts-core/objects/bilde_renderer/bilde_png_renderer.php
index 68e0347..c03ff3a 100644
--- a/pts-core/objects/bilde_renderer/bilde_png_renderer.php
+++ b/pts-core/objects/bilde_renderer/bilde_png_renderer.php
@@ -25,19 +25,22 @@ class bilde_png_renderer extends bilde_renderer
{
public function __construct($width, $height, $embed_identifiers = "")
{
- $this->image = imagecreate($width, $height);
-
- imageinterlace($this->image, true);
-
- if(function_exists("imageantialias"))
- {
- imageantialias($this->image, true);
- }
+ $this->image = $this->init_new_gd_image($width, $height);
+ $this->image_width = $width;
+ $this->image_height = $height;
}
public function render_image($output_file = null, $quality = 0)
{
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);
@@ -199,6 +202,22 @@ class bilde_png_renderer extends bilde_renderer
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;
+ }
}
?>