CKFinder图片调整大小

6
在使用CKFinder选择或上传图片后,用户可以更改其宽度和高度。我希望它能自动调整图像大小以适应用户设置的宽度和高度。这是否可能?
我认为ajax图片调整大小器可以解决这个问题,但我无法让它正常工作。有人有自动调整宽度和高度的插件经验吗?
在我的CKFinder配置文件中,我已经设置了:
include_once "plugins/imageresize/plugin.php";

在 config.js 文件中,我有以下内容:
CKFinder.customConfig = function( config )
{
 config.extraPlugins = 'imageresize';
};
3个回答

3
在过去,我已经为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'];
}

请注意,如果您尚未这样做,您需要在config.php文件中调用session_start()。

1
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);
        };
    }
});

0
在 "config.ascx" 文件中更改变量的值为。
Images.MaxWidth = 0; 
Images.MaxHeight = 0;
Images.Quality = 100;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接