pers1307 / convert
Convert for Publisher 6.0
dev-master
2016-05-13 05:42 UTC
Requires
- php: >=5.4.0
- ko-ko-ko/assert: ~1.0.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-20 19:30:05 UTC
README
简而言之,这是一个Publisher的图片转换器。客户通常对图片不满意的情况很常见。这个项目旨在简化转换过程。
安装
使用composer并完成。
$ php composer.phar require --prefer-dist pers1307/convert "dev-master"
说明
目前包中仅包含一组配方。
添加新图片到集合或替换旧图片
快速解决方案
require_once 'console.php'; $query = new MSTable('{catalog_items}'); $query->setFields(['*']); $items = $query->getItems(); $conf = array(115, 115, true); foreach ($items as $key => &$item) { $buf = unserialize($item['gallery']); foreach ($buf as $key2 => &$elem) { if (file_exists(DOC_ROOT . $elem['path']['original'])) { $result = MSFiles::makeImageThumb(DOC_ROOT . $elem['path']['original'], $conf); $elem['path']['min'] = $result; } } $item['gallery'] = serialize($buf); $sql = 'UPDATE ' . PRFX . "catalog_items SET `gallery`='" . $item['gallery'] . "' WHERE `id`=" . $item['id']; MSCore::db()->execute($sql); }
正确解决方案,尽管更像是一个包装器。
use pers1307\convert; $convertImage = new ConvertImage(); $convertImage->setDocRoot(DOC_ROOT); $convertImage->setConfig([115, 115, true]); $convertImage->setCollectionKey('gallery'); $function = function($pathOriginal, $config) { MSFiles::makeImageThumb($pathOriginal, $config); }; $query = new MSTable('{catalog_items}'); $query->setFields(['*']); $items = $query->getItems(); foreach ($items as $key => &$item) { $item = $convertImage->newImageInCollection($item, 'min', $function) $sql = 'UPDATE ' . PRFX . "catalog_items SET `gallery`='" . $item['gallery'] . "' WHERE `id`=" . $item['id']; MSCore::db()->execute($sql); }
示例:快速将图片转换为图片库中的图片。快速解决方案
$query = new MSTable('{works}'); $query->setFields(['*']); $items = $query->getItems(); $galleries = []; foreach ($items as $key =>$item) { $arrayGallery = unserialize($item['gallery']); foreach ($arrayGallery as $key2 => $pic) { $galleries[$key][$key2] = $pic['path']['original']; } } $conf3 = array(800, 480, 'watermark' => array( 'src' => DOC_ROOT . '/DESIGN/SITE/images/watermark400x400.png', 'offset_x' => 150, 'offset_y' => 0 ) ); foreach ($items as $key => $item) { if (isset($galleries[$key])) { $tempGal = unserialize($item['gallery']); foreach ($tempGal as $key2 => $temp) { // Переконфигурировать картинку //$galleries[$key][$key2]; $result = MSFiles::makeImageThumb(DOC_ROOT . $galleries[$key][$key2], $conf3); $tempGal[$key2]['path']['win'] = $result; } $items[$key]['gallery'] = serialize($tempGal); } } foreach ($items as $key => $item) { $sql = 'UPDATE ' . PRFX . "works SET `gallery`='" . $item['gallery'] . "' WHERE `id`=" . $item['id']; MSCore::db()->execute($sql); }
作者
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。