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

时间:2019-02-12 17:04:27

标签: php imagemagick mediawiki

理想情况下,我在将所有上传到mediawiki的图像上调整大小并设置maxWidth和maxHeight之后。

浏览了MediaWiki中各个不同页面的documentation之后,我找不到任何可以在上传到MediaWiki网站上的图像进行编辑的内容

我编写一些自定义PHP没问题,但事实是我不知道从mediaWiki开始找什么地方。

我的想法是:与this类似的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

但是同样,我看不到在上传图像后更改文件尺寸后在哪里运行。

任何帮助都是很棒的。

1 个答案:

答案 0 :(得分: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;
};