User Tools

Site Tools


php:kompost:textboxclass

[PHP] Text Box Class

Benötigte Module

Mögliche Anwendung

Code

<?php
/**
* @copyright    mpl by ERB software
*               All rights reserved
* @contact      stefan.erb@erb-software.com
*
* @date         17.02.2010
*/
include_once(dirname(__FILE__).'/FontImageCreator.php');
 
class TextBox extends FontImageCreator{
	public $dstX = 0;
	public $dstY = 0;
	public $srcX = 0;
	public $srcY = 0;
	public $xSize = 0;
	public $ySize = 0;
	private $image;
	private $initialized = false;
 
	/**
	* constructer
	* @param String text
	* @param String FontName
	*/
	public function __construct($text=NULL, $font=NULL, $fontPath=parent::DEFAULT_FONT_PATH){
		try{
			parent::__construct($text, $font, $fontPath);
			$this->initialized = true;
			$this->recalc();
		} catch (Exception $e){
			throw $e;    
		}            
	}
 
	/**
	 * Neuberechnung des images und der entsprechenden massen
	 * @return $box => array(xSize, ySize)
	 */
	public function recalc(){
		try{
			if($this->initialized == false) return NULL;
			$box = parent::getImage($this->image);
			$this->xSize = $box['xSize'];
			$this->ySize = $box['ySize'];
			return $box;
		} catch (Exception $e){
			throw $e;    
		}            
	}
 
	/**
	 * Das TestImage in das Zielimage kopieren 
	 * @param $destImage
	 */
	public function copyIntoImage(&$destImage){
		try{
			imagecopy($destImage, $this->image, $this->dstX, $this->dstY, $this->srcX, $this->srcY , $this->xSize ,$this->ySize);
		} catch (Exception $e){
			throw $e;    
		}            
	}
 
	/**
	* Magic Function __set for all properties
	* @access   public
	* @param    String name
	* @param    String value
	 */
	public function __set($name, $value){
		try{
			parent::__set($name, $value);
			//nach dem Ändern von Eigenschaften neu berechnen 
			$this->recalc();
		} catch (Exception $e){
			throw $e;    
		}            
	}
 
	/**
	 * destruct
	 */
	public function __destruct(){
		imagedestroy($this->image);
	}
}
?>
php/kompost/textboxclass.txt · Last modified: 11.12.2013 14:16:40 (external edit)