Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 07.03.2008 03:15 / 05.08.2008 06:42
@_exec[sAction;hParams][sTempFileName;sDir;sClearDir;sTempFile;hTmp] ^if($hParams.sFormat ne "gif"){ ^hParams.delete[iColors] } $result[^switch[$sAction]{ ^case[info]{^file::exec[$sScript;;-info;$hParams.sInput]} ^case[convert]{^file::exec[$sScript;;-o;$hParams.sOutput;^if(^hParams.bRemoveMeta.int(0)){-rmeta}{-quiet};-out;$hParams.sFormat;-q;$hParams.iQuality;^if($hParams.iColors){-colors}{-quiet};^if($hParams.iColors){$hParams.iColors}{^if(^hParams.bTrueColors.bool(false)){-truecolors}{-quiet}};$hParams.sInput]} ^case[rotateJPG]{^file::exec[$sScript;;-jpegtrans;$hParams.sAngle;$hParams.sInput]} ^case[rotate]{^file::exec[$sScript;;-o;$hParams.sOutput;-rotate;$hParams.iAngle;-bgcolor;$hParams.iR;$hParams.iG;$hParams.iB;^if($hParams.bRemoveMeta){-rmeta}{-quiet};-out;$hParams.sFormat;-q;$hParams.iQuality;^if($hParams.iColors){-colors}{-quiet};^if($hParams.iColors){$hParams.iColors}{-quiet};$hParams.sInput]} ^case[crop]{^file::exec[$sScript;;-o;$hParams.sOutput;-crop;$hParams.iX;$hParams.iY;$hParams.iCropWidth;$hParams.iCropHeight;^if($hParams.bRemoveMeta){-rmeta}{-quiet};-out;$hParams.sFormat;-q;$hParams.iQuality;^if($hParams.iColors){-colors}{-quiet};^if($hParams.iColors){$hParams.iColors}{-quiet};$hParams.sInput]} ^case[resize]{^file::exec[$sScript;;-o;$hParams.sOutput;-resize;$hParams.sWidth;$hParams.sHeight;^if($hParams.bKeepRatio){-ratio}{-quiet};^if(def $hParams.sFlag){-rflag}{-quiet};^if(def $hParams.sFlag){$hParams.sFlag}{-quiet};-out;$hParams.sFormat;-q;$hParams.iQuality;^if($hParams.iColors){-colors}{-quiet};^if($hParams.iColors){$hParams.iColors}{-quiet};^if($hParams.bRemoveMeta){-rmeta}{-quiet};-rtype;$hParams.sRType;$hParams.sInput]} ^case[watermark]{ ^if($hParams.sFormat ne "gif" && $hParams.sFormat ne "png"){ ^file::exec[$sScript;;-o;$hParams.sOutput;-wmfile;$hParams.sWMFile;-wmpos;^hParams.iX.int(0);^hParams.iY.int(0);^if(def $hParams.sPosition){-wmflag}{-quiet};^if(def $hParams.sPosition){$hParams.sPosition}{-quiet};^if($hParams.bRemoveMeta){-rmeta}{-quiet};-out;$hParams.sFormat;-q;$hParams.iQuality;$hParams.sInput] }{ $sTempFileName[^math:uid64[].bmp] $sTempFileName[^sTempFileName.lower[]] $sDir[^file:dirname[$hParams.sOutput]] $sClearDir[^sDir.mid(^self.sDocRoot.length[])] $sTempFile[$sDir/$sTempFileName] $hTmp[^self._exec[convert][ $.sInput[$hParams.sInput] $.sOutput[$sTempFile] $.sFormat[bmp] $.bTrueColors(true) $.iQuality(100) ]] $hTmp[^self._exec[watermark][ $.sInput[$sTempFile] $.sOutput[$sTempFile] $.sFormat[bmp] $.sWMFile[$hParams.sWMFile] $.sPosition[$hParams.sPosition] $.iQuality(100) ]] ^self._exec[convert][ $.sOutput[$hParams.sOutput] $.sInput[$sTempFile] $.sFormat[$hParams.sFormat] ^if($hParams.sFormat ne "png"){$.iColors(^hParams.iColors.int(256))} $.iQuality(^hParams.iQuality.int(100)) ] ^file:delete[$sClearDir/$sTempFileName] } } ^case[DEFAULT]{^throw[$sClassName;;Action '$sAction' not implemented yet]} }]Как-то так.