2010-06-16 268 views
6

使用ckfinder选择或上传图像后,用户可以更改宽度和高度。我希望它能够自动调整图像的大小以适应用户设置的宽度和高度。那可能吗?ckfinder图像调整大小

我认为ajax图像调整大小会解决这个问题,但无法让它工作。有人有自动宽度和高度调整插件的经验?

在ckfinder我的配置文件我有:

include_once "plugins/imageresize/plugin.php"; 
在我已经得到了config.js

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

回答

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']; 
} 

请注意,你需要调用session_start()在你的config.php文件,如果你还没有准备好。

0

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; 
变量的值