<?php
 
/* PIMG module: resizes an image by stretching it to e specified width and height */
 
class pimg_stretch
 
{
 
    /* Resources */
 
    private $pimg;
 
    
 
    // PIMG constructor
 
    function __construct($pimg)
 
    {
 
        $this -> pimg = $pimg;
 
    }
 
    
 
    
 
    
 
    /*
 
        Resizes the image by stretching it to a specified width and height
 
        @param: $width - integer value
 
        @param: $height - integer value
 
        @result: a pointer to the caller pimg class for furthur usage
 
    */
 
    function init($width, $height)
 
    {
 
        /* INPUT VALIDATORS */
 
        if ($width <= 0)
 
            $this -> pimg -> setDebug('Width must be > 0', 'error', __CLASS__);
 
        if ($height <= 0)
 
            $this -> pimg -> setDebug('Height must be > 0', 'error', __CLASS__);
 
        
 
        // If width and height are the same as original skip the stretching
 
        if ($this -> pimg -> width() != $width || $this -> pimg -> height() != $height)
 
        {
 
            // Create a new empty image
 
            $resized = $this -> pimg -> newImage(null, $width, $height);
 
            
 
            // Resize the original
 
            imagecopyresampled($resized, $this -> pimg -> handle(), 0, 0, 0, 0, $width, $height, $this -> pimg -> width(), $this -> pimg -> height());
 
            
 
            // Update the pimg class
 
            $this -> pimg -> update($resized, $width, $height);
 
        }
 
        
 
        // Return the caller pimg instance
 
        return $this -> pimg;
 
    }
 
}
 
?>
 
 |