在Mediawiki中上传后调整图像大小

Jam*_*ber 7 php mediawiki imagemagick

理想情况下,我在调整所有图像上传到mediawiki后调整maxWidth和maxHeight.

浏览了mediawiki中各种不同页面的文档后,我无法找到任何说明你可以编辑上传到建立在mediaWiki上的网站的图像

我写一些自定义PHP没有问题,但事实是我不知道从哪里开始查看mediaWiki.

我的想法是:imagemagick与类似:

I think you need the > flag on the resize:

convert -size 300x200 xc:red   small.png
convert -size 1000x500 xc:blue large.png
Now convert them both to 800x600 with no flags:

convert small.png -resize 800x600 a.png   # 800x533
convert large.png -resize 800x600 b.png   # 800x400
Now with flags:

convert small.png -resize 800x600\> a.png # 300x200
convert large.png -resize 800x600\> b.png # 800x400
Run Code Online (Sandbox Code Playgroud)

但同样,在图片上传后我无法看到你在哪里运行它来更改文件尺寸.

任何帮助都会很棒.

小智 0

您可以尝试使用正确挂钩的扩展程序: https://www.mediawiki.org/wiki/Manual: Hooks/UploadForm:BeforeProcessing 或 https://www.mediawiki.org/wiki/Manual:Hooks/UploadVerifyFile

编辑 :

这个例子要在LocalSettings.php的末尾添加一个标志在上传文件的右上角:

$wgHooks['UploadForm:BeforeProcessing'][]=function(&$upload) { 
    $fictmp = $upload->mUpload->getTempPath();
    $newtmp = tempnam("/tmp", "tmp");
    $mylogo = "/path/to/my/logo/220px-SNice.svg.png";
    exec("composite -gravity NorthEast $mylogo $fictmp $newtmp" );
    copy($newtmp, $fictmp);
    unlink($newtmp);
    return true;
};
Run Code Online (Sandbox Code Playgroud)