6

ckfinder で画像を選択またはアップロードした後、ユーザーは幅と高さを変更できます。ユーザーが設定した幅と高さに画像のサイズを自動的に変更したい。それは可能ですか?

私は ajax 画像リサイザーがそれを修正すると思っていましたが、それを機能させることはできません。幅と高さの自動サイズ変更プラグインを使用した経験のある人はいますか?

私のckfinderの設定ファイルには次のものがあります:

include_once "plugins/imageresize/plugin.php";

私が持っているconfig.jsで:

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

3 に答える 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() を呼び出す必要があることに注意してください。

于 2012-08-10T13:55:32.790 に答える
1

Ckeditor は画像のサイズを変更せず、高さと幅の値のみを変更します。画像のサイズを変更する代わりに、「OK」ボタンをクリックしながらデフォルトの幅と高さを設定します。ここでは、ユーザーが入力した高さと幅の値をデフォルトの高さと幅に置き換えます。

 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);
        };
    }
});
于 2015-05-22T10:42:19.493 に答える