123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- <?php
- namespace Qcloud\Cos\ImageParamTemplate;
- class ImageMogrTemplate extends ImageTemplate
- {
- private $tranParams;
- private $tranString;
- public function __construct() {
- parent::__construct();
- $this->tranParams = array();
- $this->tranString = "";
- }
-
- public function thumbnailByScale($widthScale) {
- $this->tranParams[] = "/thumbnail/!" . $widthScale . "p";
- }
-
- public function thumbnailByWidthScale($heightScale) {
- $this->tranParams[] = "/thumbnail/!" . $heightScale . "px";
- }
-
- public function thumbnailByHeightScale($scale) {
- $this->tranParams[] = "/thumbnail/!x" . $scale . "p";
- }
-
- public function thumbnailByWidth($width) {
- $this->tranParams[] = "/thumbnail/" . $width . "x";
- }
-
- public function thumbnailByHeight($height) {
- $this->tranParams[] = "/thumbnail/x" . $height;
- }
-
- public function thumbnailByMaxWH($maxW, $maxH) {
- $this->tranParams[] = "/thumbnail/" . $maxW . "x" . $maxH;
- }
-
- public function thumbnailByMinWH($minW, $minH) {
- $this->tranParams[] = "/thumbnail/!" . $minW . "x" . $minH . "r" ;
- }
-
- public function thumbnailByWH($width, $height) {
- $this->tranParams[] = "/thumbnail/" . $width . "x" . $height . "!";
- }
-
- public function thumbnailEqualRatioReduceByWH($width, $height) {
- $this->tranParams[] = "/thumbnail/{$width}x{$height}>";
- }
-
- public function thumbnailEqualRatioEnlargeByWH($width, $height) {
- $this->tranParams[] = "/thumbnail/{$width}x{$height}<";
- }
-
- public function thumbnailByPixel($pixel) {
- $this->tranParams[] = "/thumbnail/" . $pixel . "@";
- }
-
- public function pad($is) {
- $this->tranParams[] = "/pad/{$is}";
- }
-
- public function color($rgb) {
- $rgb = $this->ciBase64($rgb);
- $this->tranParams[] = "/color/{$rgb}";
- }
-
- public function ignoreError() {
- $this->tranParams[] = "/ignore-error/1";
- }
-
- public function cut($width, $height, $dx, $dy) {
- $this->tranParams[] = "/cut/" . $width . "x" . "$height" . "x" . $dx . "x" . $dy;
- }
-
- public function cropByWidth($width, $gravity = "") {
- $temp = "/crop/" . $width . "x";
- if($gravity){
- $temp .= "/gravity/" . $gravity;
- }
- $this->tranParams[] = $temp;
- }
-
- public function cropByHeight($height, $gravity = "") {
- $temp = "/crop/x" . $height;
- if($gravity){
- $temp .= "/gravity/" . $gravity;
- }
- $this->tranParams[] = $temp;
- }
-
- public function cropByWH($width, $height, $gravity = "") {
- $temp = "/crop/" . $width . "x" . $height;
- if($gravity){
- $temp .= "/gravity/" . $gravity;
- }
- $this->tranParams[] = $temp;
- }
-
- public function iradius($radius) {
- $this->tranParams[] = "/iradius/" . $radius;
- }
-
- public function rradius($radius) {
- $this->tranParams[] = "/rradius/" . $radius;
- }
-
- public function scrop($width, $height) {
- $this->tranParams[] = "/scrop/" . $width . "x" . $height;
- }
-
- public function rotate($degree) {
- $this->tranParams[] = "/rotate/" . $degree;
- }
-
- public function autoOrient() {
- $this->tranParams[] = "/auto-orient";
- }
-
- public function flip($flip) {
- $this->tranParams[] = "/flip/" . $flip;
- }
-
- public function format($format) {
- $this->tranParams[] = "/format/" . $format;
- }
-
- public function gifOptimization($frameNumber) {
- $this->tranParams[] = "/cgif/" . $frameNumber;
- }
-
- public function jpegInterlaceMode($mode) {
- $this->tranParams[] = "/interlace/" . $mode;
- }
-
- public function quality($value, $force = 0) {
- $temp = "/quality/" . $value;
- if($force){
- $temp .= "!";
- }
- $this->tranParams[] = $temp;
- }
-
- public function lowestQuality($value) {
- $this->tranParams[] = "/lquality/" . $value;
- }
-
- public function relativelyQuality($value) {
- $this->tranParams[] = "/rquality/" . $value;
- }
-
- public function blur($radius, $sigma) {
- $this->tranParams[] = "/blur/" . $radius . "x" . $sigma;
- }
-
- public function bright($value) {
- $this->tranParams[] = "/bright/" . $value;
- }
-
- public function contrast($value) {
- $this->tranParams[] = "/contrast/" . $value;
- }
-
- public function sharpen($value) {
- $this->tranParams[] = "/sharpen/" . $value;
- }
-
- public function grayscale($value) {
- $this->tranParams[] = "/grayscale/" . $value;
- }
-
- public function strip() {
- $this->tranParams[] = "/strip";
- }
-
- public function sizeLimit($value, $compare = 0) {
- $temp = "/size-limit/" . $value;
- if($compare){
- $temp .= "!";
- }
- $this->tranParams[] = $temp;
- }
- public function queryString() {
- if($this->tranParams) {
- $this->tranString = "imageMogr2" . implode("", $this->tranParams);
- }
- return $this->tranString;
- }
- public function resetRule() {
- $this->tranString = "";
- $this->tranParams = array();
- }
- }
|