изменение размера изображения ckfinder - PullRequest
6 голосов
/ 17 июня 2010

После выбора или загрузки изображения с помощью ckfinder пользователь может изменить ширину и высоту.Я хочу, чтобы оно автоматически изменяло размер изображения на ширину и высоту, заданные пользователем.Это возможно?

Я подумал, что ajax image resizer исправит это, но не сможет заставить его работать.У кого-нибудь есть опыт работы с автоматическим плагином для изменения размера и высоты?

В моем конфигурационном файле ckfinder у меня есть:

include_once "plugins/imageresize/plugin.php";

в config.js, который я получил:1008 *

CKFinder.customConfig = function( config )
{
 config.extraPlugins = 'imageresize';
};

Ответы [ 3 ]

3 голосов
/ 10 августа 2012

В прошлом я заранее определял значение автоматического изменения размера для определенной папки в ckFinder, чтобы размер любого изображения, загружаемого пользователем в эту папку, изменялся. Я делаю это, добавляя небольшой код в файл config.php следующим образом:

// This next block sets the default max image size and quality
$config['Images'] = Array(
        'maxWidth' => 1600,
        'maxHeight' => 1200,
        'quality' => 80);

// Here we override those settings for a given folder
if(isset($_GET['currentFolder']) && urldecode($_GET['currentFolder']) == '/some-folder-name/'){
    $config['Images']['maxWidth'] = 150;
    $config['Images']['maxHeight'] = 150;
}

Я подозреваю, что вы могли бы сделать подобный взлом, возможно, используя значения $ _SESSION. Пусть ваш пользователь выберет нужные ему значения авторазмера и сохранит их в своей переменной $ _SESSION. Затем в вашем конфигурационном файле найдите значение этого сеанса. Что-то вроде:

if(isset($_SESSION['resize_w']) && isset($_SESSION['resize_h']) ){
    $config['Images']['maxWidth'] = $_SESSION['resize_w'];
    $config['Images']['maxHeight'] = $_SESSION['resize_h'];
}

Обратите внимание, что вам нужно вызвать метод session_start () в файле config.php, если вы этого еще не сделали.

0 голосов
/ 27 июня 2016

В файле "config.ascx" измените значение переменной на

Images.MaxWidth = 0; 
Images.MaxHeight = 0;
Images.Quality = 100;
0 голосов
/ 22 мая 2015

Ckeditor не изменяет размер изображения, он только изменяет значение высоты и ширины. вместо изменения размера изображения установите ширину и высоту по умолчанию, нажимая кнопку «ОК». Здесь я заменяю введенные пользователем значения высоты и ширины значениями высоты и ширины по умолчанию.

 CKEDITOR.on('dialogDefinition', function (ev) {

    var dialogName = ev.data.name,
        dialogDefinition = ev.data.definition;

    if (dialogName == 'image') {
        var onOk = dialogDefinition.onOk;

        dialogDefinition.onOk = function (e) {
            var width = this.getContentElement('info', 'txtWidth');
            width.setValue('200');//Set Default Width

            var height = this.getContentElement('info', 'txtHeight');
            height.setValue('200');//Set Default height

            onOk && onOk.apply(this, e);
        };
    }
});
...