Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Menandr 05.10.2015 00:31
Решение для img.p в связке с nConvert. Если кто напишет по аналогии для imageMagik, будет совсем круто.###################################################### @canvas[sFileSrc;sFileDest;sCanvasWidth;sCanvasHeight;hParams][tColor;fResult] $hParams[^self._prepareParams[$hParams]] ^if(def $hParams.sBGColor){ $tColor[^hParams.sBGColor.split[,;lh]] ^self._checkColor[canvas;$tColor.0] ^self._checkColor[canvas;$tColor.1] ^self._checkColor[canvas;$tColor.2] } ^if(!def $sCanvasWidth || !def $sCanvasHeight){ ^throw[$sClassName;canvas;Canvas width and height MUST be specified] } ^hParams.add[ ^self._getFiles[canvas;$sFileSrc;$sFileDest;$hParams.sFormat;$hParams] $.iR($tColor.0) $.iG($tColor.1) $.iB($tColor.2) ^if(!def $hParams.sPosition){ $.sPosition[center] } $.sCanvasWidth[$sCanvasWidth] $.sCanvasHeight[$sCanvasHeight] ] $fResult[^self._createDirAndExec[canvas;$hParams]] $result($fResult.status) ######################################################В nconvert.p в @_exec[]
... ^case[canvas]{^file::exec[$hScript.$sAction;$hOptions;-o;$hParams.sOutput;-canvas;$hParams.sCanvasWidth;$hParams.sCanvasHeight;$hParams.sPosition;-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]} ...Параметры
^oImg.canvas[$sFileSrc;$sFileDest;$sCanvasWidth;$sCanvasHeight;$hParams] Здесь $sCanvasWidth - ширина области (в px или %) $sCanvasHeight - высота области (в px или %) $hParams - хэш со следующими полями $.sBGColor - цвет фона (формат "R,G,B") $.sPosition - позиция исходного изображения top-left, left-top : top-left top-center, center-top : top-center top-right, right-top : top-right center-left, left-center : center-left center : center (по умолчанию) center-right, right-center : center-right bottom-left, left-bottom : bottom-left bottom-center, center-bottom : bottom-center bottom-right, right-bottom : bottom-right $.sFormat - выходной формат $.bRemoveMeta - флаг удаления метаданных $.iQuality - качество для jpg и png $.iColors - кол-во цветов (256, 216, 128, 64, 32, 16 или 8)Может быть, кому-нибудь пригодится.