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

2024-03-06

理想情况下,我在上传到 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(使用前将#替换为@)

在 Mediawiki 中上传时调整图像大小 的相关文章

  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • 将 OAuth WRAP 访问令牌直接保存在客户端计算机上的 cookie 中吗?

    我计划建立一个可以访问 oauth 包装框架的网站 我正在考虑将访问令牌按原样存储在客户端计算机上 我不想在服务器上维护临时令牌等数据库 我应该做吗 或者我应该加密它 首先 为什么他们不使用 OAuth 2 0 您可以将 OAuth 凭据存
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • php中的$$是什么意思? [复制]

    这个问题在这里已经有答案了 变量后面的两个背对背 是什么意思 像这样 id 我在哪里可以找到更多相关信息 谢谢 In PHP 意味着您将给至少一名维护程序员带来多年的痛苦和折磨 请注意 您最终可能会成为维护程序员 它是一个可变变量 想象一下
  • 检查字符串是否是哈希值

    我正在使用 SHA 512 来散列我的密码 当然还有盐 我认为我想要的不可能 但无论如何我们还是要问一下 有没有办法检查字符串是否已经是 SHA 512 或其他算法 哈希值 当用户登录时 我想检查他的密码 如果它仍然是纯文本 则应将其转换为
  • Cakedc.users => 总是重定向到主页

    我在新的 Cakephp 安装上使用插件 CakeDC Users 我有两个控制器 PagesController php CardsController php Pages 有 1 个操作 Beta 它是主页 Cards 有两个操作 索引
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 切换到 mysqli 是个好主意吗?

    我正在考虑为我的所有 php 项目切换到 mysqli 我的代码编写方式 我运行非常简单的网站并构建了自己的基本框架 我在所有网站上使用该框架 我在修改函数和类时不应该遇到太多问题 然而 我只听说过关于准备好的语句的积极的事情 除了一些关于
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • Paypal 将钱从一个帐户转移到另一个帐户

    我知道这个建议如何汇款至任何 PayPal 账户 https stackoverflow com questions 1559808 paypal api send money to any paypal account但到目前为止我所尝试
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 我可以让 swagger-php 在查询字符串上使用数组吗?

    我使用 Swagger php 当我定义查询字符串上的参数时 它可以是一个数组 但据我所知 它不支持这种查询字符串 https api domain tld v1 objects q 1 q 5 q 12 我相信这会被设定in the co

随机推荐

  • 当我们运行任何rails命令时,可以采取什么措施来修复以下错误:“`require_relative':无法加载此类文件”

    任何 Rails 命令对我都不起作用 我通过rvm安装了几个版本的ruby 我尝试安装所有版本的 Rails 它们确实安装成功 但对于所有版本 每当我运行时 我都会遇到以下错误any我的项目目录中的rails命令 rails new blo
  • NSMutableSet 包含重复项

    我有一个名为的自定义类card我需要从随机大小的卡片数组中创建一组 10 张独特的卡片 另外 我需要首先包含所有列入白名单的卡 以确保它们始终包含在内 我的问题是白名单中的卡片 并且只有白名单 可能会在集合中重复 随机添加的卡片永远不会重复
  • 在哪里可以找到 4.0 的 TPL 数据流版本?

    我正在寻找 NET 4 0 版本的 TPL 数据流库 Nuget 包有一个 4 0 版本的库 但它似乎针对 NET 4 5 我发现了对 4 0 版本的各种引用 例如在这个论坛中 http social msdn microsoft com
  • 将鼠标事件从 iframe 传播到托管文档

    我有一个覆盖整个 HTML 文档的 iframe 我想将点击和悬停事件传播回托管文档 我有什么选择 几周前 我被要求针对一个项目对此进行研究 这是可以做到的 这里有一个实际的例子 http www esqsoft com javascrip
  • 授权导入范围后是否可以浏览电子表格?

    我在谷歌驱动器上创建了几个电子表格 所以我是所有这些的所有者 我有一个电子表格 主 它作为主文件将数据导出到我与顾问团队共享的其他电子表格 活动报告 中 导出的数据使他们能够使用列表作为数据验证等 这有助于主文件分析他们的活动 无需清理数据
  • java中的数字格式

    如何在java中获取这些格式 Input 1223893 180703 80967 1461 700 Output 1 223 893 180 703 80 967 1 461 700 我总是会一一转换数字 这只是为了获得更多示例 你可以阅
  • 将 Dash 与 Websocket 结合使用

    使用 Dash 和 Websockets 构建实时仪表板的最佳方式是什么 我想在每次收到消息时更新图表 但我发现的唯一的事情是每 x 秒调用一次回调 如下例所示 import dash import dash core components
  • 下载 Google 网络历史记录的脚本

    如何编写脚本来下载 Google 网络历史记录 我知道关于 https www google com history https www google com history 供稿 https www google com history
  • Façade 是否利用了开闭原则?

    The 维基百科页面 http en wikipedia org wiki Open closed principle 截至今天2013 02 27 开闭原则说它是通过继承实现的 开闭原理这个名称有两种用途 这两种方法都使用继承来解决明显的
  • 创建iOS框架时未定义符号OBJC_CLASS_$

    我正在尝试构建一个 iOS 框架 为此 我使用了一些依赖项 并且单独构建框架项目时没有出现错误 当我在演示应用程序中使用 CocoaPods 安装时 出现以下错误Undefined symbol OBJC CLASS DFPRequest
  • 我需要对 Spacy NER 进行文本清理吗?

    我是新来的NER and Spacy 尝试找出需要进行哪些文本清理 如果有 看起来像我发现的一些例子修剪了前导和尾随空格 然后用开始 停止索引进行处理 我看到一个例子 那个人做了一堆清理工作 但他的准确性非常差 因为所有索引都搞乱了 澄清一
  • 如何将文本格式的时间戳转换为MS Excel的实际日期格式?

    文本中的时间戳为 Mon May 16 00 01 46 IST 2016 我应该如何将此字符串转换为 dd mm yyyy hh mm ss excel 时间格式 您将需要执行一系列字符串操作和日期时间函数 首先假设您的字符串位于 A1
  • 如何向 joint.js 元素添加 onclick 事件?

    我在 DAG 中有一个 joint js 元素 并且希望能够通过单击它来触发事件 我可以用 selector click 来做到这一点 但我想知道是否有一个 joint js 特定的处理方法 因为那样可能会更好 我认为 onclick 的候
  • 是否有可能使用 oAuth 制作 100% 基于浏览器的 javascript Twitter 客户端(根本没有后端)?

    是否有可能使用 oAuth 制作 100 基于浏览器的 javascript Twitter 客户端 根本没有后端 我不这么认为 您仍然需要一种安全的方式从 Twitter 获取访问密钥 并且您可能希望隐藏您的消费者密钥
  • 在生产中顺利重新部署 WAR?

    我想知道是否有一种 顺利的方式 将 Java WAR 重新部署到生产服务器 没有集群 没有 OSGi 我能想到的就是停止服务器 更新文件 重新启动服务器 我需要提前 10 分钟在网站上显示维护警告 你的方法是什么 首先 热部署并不总是有效
  • 在 WPF 中使用 MS ReportViewer

    我将通过将 ReportViewer 放置在 WindowsFormsHost 中来开始在 WPF 应用程序中使用 MS ReportViewer 这是正确的方法吗 设计报表的最佳方法是什么 因为您无法在设计时在 WindowsFormsH
  • Linux 中的内存区域标志:为什么需要 VM_WRITE 和 VM_MAYWRITE?

    Mel Gorman 的 Understanding the Linux Virtual Memory Manager 2007 年 这是本书章节链接 https www kernel org doc gorman html underst
  • 如何链接到标题并在 JavaScript 中单击链接时触发单击事件?

    我的页脚中有一堆链接 我想链接到页面上的不同标题并创建一个单击事件 以便关联的段落从display none to display block 换句话说 您会看到标题和带有链接的页脚 如演示 您单击页脚链接 屏幕应跳转到 链接到 关联的 h
  • 如何在 Azure Devops Pipeline 中使用 PowerShell 根据条件触发代理作业

    我有一个 PowerShell 如下所示 echo Hello World MyVariable Proceed echo MyVariable 我想做的事 If the 我的变量 is Proceed 只有并且只有那时 Agent Job
  • 在 Mediawiki 中上传时调整图像大小

    理想情况下 我在上传到 mediawiki 的所有图像上调整大小并设置 maxWidth 和 maxHeight 后 看完了文档 https www mediawiki org wiki Manual Image administratio