/** * Draws an image with the submited string, usefull for water marks * * @param $text String - the text to draw an image from * @param $format phMagickTextObject - the text configuration */ function fromString(JO_Phpthumb_Factory_Imagick_Phmagick $p, $text = '', JO_Phpthumb_Factory_Imagick_Phmagick_Textobject $format = null) { if (is_null($format)) { $format = new JO_Phpthumb_Factory_Imagick_Phmagick_Textobject(); } $cmd = $p->getBinary('convert'); if ($format->background !== false) { $cmd .= ' -background "' . $format->background . '"'; } if ($format->color !== false) { $cmd .= ' -fill "' . $format->color . '"'; } if ($format->font !== false) { $cmd .= ' -font ' . $format->font; } if ($format->fontSize !== false) { $cmd .= ' -pointsize ' . $format->fontSize; } if ($format->pText != '' && ($text = '')) { $text = $format->pText; } $cmd .= ' label:"' . $text . '"'; $cmd .= ' "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
function convert(JO_Phpthumb_Factory_Imagick_Phmagick $p) { $cmd = $p->getBinary('convert'); $cmd .= ' -quality ' . $p->getImageQuality(); $cmd .= ' "' . $p->getSource() . '" "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
/** * Flips the image horizonaly * @return unknown_type */ function flipHorizontal(JO_Phpthumb_Factory_Imagick_Phmagick $p) { $cmd = $p->getBinary('convert'); $cmd .= ' -flop '; $cmd .= ' "' . $p->getSource() . '"'; $cmd .= ' "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
/** * tries to resize an image to the exact size wile mantaining aspect ratio, * the image will be padded with background color to fit the measures * @param $width * @param $height * @param $background */ function resizeExactlyNoCrop(JO_Phpthumb_Factory_Imagick_Phmagick $p, $width, $height, $background = '#FFFFFF') { $cmd = $p->getBinary('montage'); $cmd .= ' -background ' . '"' . $background . '"'; $cmd .= ' -geometry ' . $width . 'x' . $height; $cmd .= ' "' . $p->getSource() . '" "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
/** * Attempts to create an image(s) from a File (PDF & Avi are supported on most systems) * it grabs the first frame / page from the source file * @param $file String - the path to the file * @param $ext String - the extention of the generated image */ function acquireFrame(JO_Phpthumb_Factory_Imagick_Phmagick $p, $file, $frames = 0) { // $cmd = 'echo "" | '; //just a workarround for videos, // imagemagick first converts all frames then deletes all but the first $cmd = $p->getBinary('convert'); $cmd .= ' "' . $file . '"[' . $frames . ']'; $cmd .= ' "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
/** * * @param $width Integer * @param $height Integer * @param $top Integer - The Y coordinate for the left corner of the crop rectangule * @param $left Integer - The X coordinate for the left corner of the crop rectangule * @param $gravity phMagickGravity - The initial placement of the crop rectangule * @return unknown_type */ function crop(JO_Phpthumb_Factory_Imagick_Phmagick $p, $width, $height, $top = 0, $left = 0, $gravity = 'center') { $cmd = $p->getBinary('convert'); $cmd .= ' ' . $p->getSource(); if ($gravity != '' || $gravity != JO_Phpthumb_Factory_Imagick_Phmagick_Gravity::None) { $cmd .= ' -gravity ' . $gravity; } $cmd .= ' -crop ' . (int) $width . 'x' . (int) $height; $cmd .= '+' . $left . '+' . $top; $cmd .= ' ' . $p->getDestination(); $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
function autoLevels(JO_Phpthumb_Factory_Imagick_Phmagick $p) { $cmd = $p->getBinary('convert'); $cmd .= ' -normalize '; $cmd .= ' -background "none" "' . $p->getSource() . '"'; $cmd .= ' "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
function border(JO_Phpthumb_Factory_Imagick_Phmagick $p, $borderColor = "#000", $borderSize = "1") { $cmd = $p->getBinary('convert'); $cmd .= ' "' . $p->getSource() . '"'; $cmd .= ' -bordercolor "' . $borderColor . '" -border ' . $borderSize; $cmd .= ' "' . $p->getDestination() . '"'; $ret = $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }
function edges(JO_Phpthumb_Factory_Imagick_Phmagick $p, $amount = 10) { $cmd = $p->getBinary('convert'); $cmd .= ' -adaptive-sharpen 2x' . $amount; $cmd .= ' -background "none" "' . $p->getSource() . '"'; $cmd .= ' "' . $p->getDestination() . '"'; $p->execute($cmd); $p->setSource($p->getDestination()); $p->setHistory($p->getDestination()); return $p; }