理想情况下,我在上传到 mediawiki 的所有图像上调整大小并设置 maxWidth 和 maxHeight 后。
看完了文档 https://www.mediawiki.org/wiki/Manual:Image_administration在 mediawiki 中的各种不同页面中,我找不到任何内容表明您可以以任何方式编辑上传到基于 mediaWiki 的网站的图像
我编写一些自定义 PHP 没有问题,但事实是我不知道从哪里开始在 mediaWiki 中查找。
我的想法是: imagemagick 类似于this https://stackoverflow.com/questions/40007722/resize-with-imagemagick-with-a-maximal-width-height/40008440#40008440:
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
但同样,我看不到在图像上传后在哪里运行它来更改文件尺寸。
任何帮助都会很棒。
您可以尝试正确连接扩展程序:https://www.mediawiki.org/wiki/Manual:Hooks/UploadForm:BeforeProcessing https://www.mediawiki.org/wiki/Manual:Hooks/UploadForm:BeforeProcessing
or
https://www.mediawiki.org/wiki/Manual:Hooks/UploadVerifyFile https://www.mediawiki.org/wiki/Manual:Hooks/UploadVerifyFile
Edit :
这个例子要在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;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)