2010-06-16 151 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; 
變量的值