ckfinder图像调整大小
问题描述:
使用ckfinder选择或上传图像后,用户可以更改宽度和高度。我希望它能够自动调整图像的大小以适应用户设置的宽度和高度。那可能吗?ckfinder图像调整大小
我认为ajax图像调整大小会解决这个问题,但无法让它工作。有人有自动宽度和高度调整插件的经验?
在ckfinder我的配置文件我有:
include_once "plugins/imageresize/plugin.php";
在我已经得到了config.js
:
CKFinder.customConfig = function(config)
{
config.extraPlugins = 'imageresize';
};
答
在过去,我已经预定义安将值自动调整为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文件,如果你还没有准备好。
答
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);
};
}
});
答
在 “config.ascx” 文件改变为
Images.MaxWidth = 0;
Images.MaxHeight = 0;
Images.Quality = 100;
变量的值