*/
private $imageType = "png";
+ /**
+ * The image name
+ */
+ private $imageName = "";
+
/**
* Width of the image in pixel
*/
);
/**
- * Image message string
+ * All image strings
*/
- private $imageString = "No message set!";
+ private $imageStrings = array();
+
+ /**
+ * Current string name
+ */
+ private $currString = "";
/**
* Protected constructor
}
/**
- * Getter for image type
+ * Getter for image name
*
* @return $imageType Type of the image
*/
return $this->imageType;
}
+ /**
+ * Setter for base image
+ *
+ * @param $baseImage A base image template
+ * @return void
+ */
+ public final function setBaseImage ($baseImage) {
+ $this->baseImage = (string) $baseImage;
+ }
+
+ /**
+ * Getter for base image
+ *
+ * @return $baseImage A base image template
+ */
+ public final function getBaseImage () {
+ return $this->baseImage;
+ }
+
+ /**
+ * Setter for image name
+ *
+ * @param $imageName Name of the image
+ * @return void
+ */
+ public final function setImageName ($imageName) {
+ $this->imageName = (string) $imageName;
+ }
+
+ /**
+ * Getter for image name
+ *
+ * @return $imageName Name of the image
+ */
+ protected final function getImageName () {
+ return $this->imageName;
+ }
+
/**
* Setter for image width
*
$this->foregroundColor['blue'] = (int) $blue;
}
+ /**
+ * Adds an image string to the buffer by the given string name
+ *
+ * @param $stringName String name (identifier)
+ */
+ public function addTextLine ($stringName) {
+ // Create the image string
+ $this->imageStrings[$stringName] = array(
+ 'x' => "",
+ 'y' => "",
+ 'size' => "",
+ 'string' => ""
+ );
+
+ // Set current string name
+ $this->currString = $stringName;
+ }
+
/**
* Setter for image message string
*
* @return void
*/
public final function setImageString ($imageString) {
- $this->imageString = (string) $imageString;
+ $this->imageStrings[$this->currString]['string'] = (string) $imageString;
}
/**
* @return $imageString A message to display in the image
*/
public final function getImageString () {
- return $this->imageString;
+ return $this->imageStrings[$this->currString]['string'];
}
/**
- * Setter for base image
+ * Setter for X/Y coordinates for strings
*
- * @param $baseImage A base image template
+ * @param $x X coordinate
+ * @param $y Y coordinate
* @return void
*/
- public final function setBaseImage ($baseImage) {
- $this->baseImage = (string) $baseImage;
+ public final function setCoord ($x, $y) {
+ $this->imageStrings[$this->currString]['x'] = (int) $x;
+ $this->imageStrings[$this->currString]['y'] = (int) $y;
}
/**
- * Getter for base image
+ * Getter for X coordinate
*
- * @return $baseImage A base image template
+ * @return $x X coordinate
*/
- public final function getBaseImage () {
- return $this->baseImage;
+ public final function getX () {
+ return $this->imageStrings[$this->currString]['x'];
+ }
+
+ /**
+ * Getter for Y coordinate
+ *
+ * @return $y Y coordinate
+ */
+ public final function getY () {
+ return $this->imageStrings[$this->currString]['y'];
+ }
+
+ /**
+ * Setter for font size
+ *
+ * @param $fontSize Font size for strings
+ * @return void
+ */
+ public final function setFontSize ($fontSize) {
+ $this->imageStrings[$this->currString]['size'] = (int) $fontSize;
+ }
+
+ /**
+ * Getter for font size
+ *
+ * @return $fontSize Font size for strings
+ */
+ public final function getFontSize () {
+ return $this->imageStrings[$this->currString]['size'];
}
/**
$templateInstance->loadCodeTemplate($this->getBaseImage());
// Assign all the image values with the template
+ $templateInstance->assignVariable("image_name" , $this->getImageName());
$templateInstance->assignVariable("image_type" , $this->getImageType());
$templateInstance->assignVariable("image_width" , $this->getWidth());
$templateInstance->assignVariable("image_height" , $this->getHeight());
$templateInstance->assignVariable("image_fg_red" , $this->foregroundColor['red']);
$templateInstance->assignVariable("image_fg_green", $this->foregroundColor['green']);
$templateInstance->assignVariable("image_fg_blue" , $this->foregroundColor['blue']);
- $templateInstance->assignVariable("image_string" , $this->getImageString());
+
+ // Add all strings
+ foreach ($this->imageStrings as $id=>$imageString) {
+ // Set current string id
+ $this->currString = $id;
+
+ // Set variable group
+ $templateInstance->setVariableGroup($id);
+
+ // Add group variables
+ $templateInstance->addGroupVariable("image_x" , $this->getX());
+ $templateInstance->addGroupVariable("image_y" , $this->getY());
+ $templateInstance->addGroupVariable("image_size" , $this->getFontSize());
+ $templateInstance->addGroupVariable("image_string", $this->getImageString());
+ } // END - foreach
// Get the raw content
$imageContent = $templateInstance->getRawTemplateData();