ImageMagick 调整大小 - 设置横向和纵向图像的宽度

2024-05-11

我正在尝试将图像调整为给定宽度,按比例调整高度 - 无论图像是横向还是纵向。

我有两张图像我测试了 ImageMagickconvert -resize根据我所读到的命令,我希望以下内容适用于任何类型的图像:

convert source.jpg -resize 200 out.jpg

问题是,事实并非如此。这是我的结果:

  • 源图 1:landscape, 3264 × 2448,调整大小为200 × 150 ==> WORKS
  • 源图 2:portrait, 3240 × 4320,调整大小为150 × 200 ==> FAIL

现在,我知道我可以通过预先读取源图像尺寸并调整命令来解决此问题(例如,使用 x200 进行肖像似乎将宽度正确设置为 200),但我忍不住认为必须有一个让 ImageMagick 处理这个问题的方法。

我阅读了文档并用谷歌搜索了答案,但似乎无法解决这个问题。任何帮助是极大的赞赏。

EDIT:

我尝试了以下变体,但得到了相同的错误结果:

convert source.jpg -resize 200x out.jpg

FIX:

convert source.jpg -auto-orient -resize 200 out.jpg


正如 JWK 的答案评论中所讨论的:

这些图像似乎是风景而不是肖像。某些显示图像的应用程序会从图像的 exif 配置文件中读取额外信息来确定方向。这导致了一些混乱,因为 ImageMagick 不会自动使用 exif 配置文件中的信息。这可以通过自动定向选项强制执行。该命令应更改为:

convert source.jpg -auto-orient -resize 200x out.jpg

200x 也可以写为 200,但如果应调整宽度或高度大小,则使用 200x 或 x200 显示效果更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ImageMagick 调整大小 - 设置横向和纵向图像的宽度 的相关文章

随机推荐

  • DART:将来 then 的语法

    我不明白的语法then clause 1 myFuture 6 then erg gt print erg What s erg gt expr语法上 我以为这会是一个函数 但是 then callHandler2 erg 不起作用 错误
  • 如何使用 jQuery Validate 正确验证放置在多个选项卡上的 Twitter Bootstrap 表单?

    我有一个表单位于多个 Twitter 的 Bootstrap 选项卡上
  • 带有 viewbags 的 MVC 数据集

    如何将数据集放入视图袋中并在视图中显示结果 我有一个来自模型的数据集 并将其写入视图包 我想使用 foreach 循环从视图中的视图包中获取数据行 我已经有一个变量进入视图 所以我无法正常传递数据集 每页我还会有许多其他数据集 所以我认为
  • Android 操作系统上的 NFC 堆栈

    有人可以帮助我了解 NFC Android 堆栈的当前状态吗 随着OS 2 3发布了小型 NFC 支持 仅限于 NXP 标签读取 后来 Google 增强了 API 所以在OS 2 3 3支持更广泛的标签 并且还可以使用 p2p 我的问题是
  • 如何在 Angular 模板中嵌入 GitHub gist?

    角度忽略script其模板中包含标签 但加载 GitHub gist 需要它们 执行此操作的最佳做 法是什么 使用iframe 创造script动态标记 或者是其他东西 一种方法是创建一个iframe with script里面并在你希望你
  • 这是复制类的好方法吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是一个十足的菜鸟 所以如果我不适合问这个问题 请告诉我 如果需要的话请给我引导 无论如何 我一直在学习值类型和引用类型 并且想知道定义一个像这
  • 文件中缺少所需的架构 i386

    添加 MapKit 和 CoreLocation 框架后 我在构建应用程序时遇到问题 它们都是 4 3 框架 并且该应用程序过去可以与 UIKit CoreGraphics 和 Foundation 一起正常工作 只是这两个框架给我带来了问
  • InstallShield XML 文件更改 - 安装时更改节点属性

    我正在使用 InstallShield 2012 构建 Web 服务安装 并且需要根据用户输入修改应用程序的 Web config 文件 我在 DestinationFolder 对话框之后引入了 PromptServerAndDataba
  • Javascript:更改浏览器后退按钮的功能

    有没有办法让用户的浏览器上的后退按钮调用 JavaScript 函数而不是返回页面 您无法覆盖这样的行为 如果用户通过链接访问您的页面 则单击 后退 将使他们再次离开该页面 但是 您可以使页面上的 JavaScript 操作将条目添加到历史
  • javax.el.PropertyNotFoundException:在 java.lang.String 类型上找不到属性“tname”

    我之前使用的是 scriptlet 但现在我改用了 mvc 我无法检索 JSP 页面上的值并收到错误 javax el PropertyNotFoundException Property tname not found on type j
  • 如何在 Swift 中将 Int 转换为字符

    我在这里挣扎了十多分钟 失败了 我屈服了 我需要在 Swift 中将 Int 转换为 Character 但无法解决它 Question 你如何转换 cast an Int integer to a Character char 在斯威夫特
  • Spring的@PreDestroy导致随机记录而不记录

    我正在使用 Spring 并且在终止时我让 PreDestroy 清理 bean 我不明白为什么日志记录有时会成功 而有时会失败 Using Log4j2 Logger log LogManager getLogger MyClass cl
  • VS Code Pylint 在缺失的函数/类文档字符串上用蓝色下划线突出显示整个函数

    这种情况突然开始发生 当出现缺少函数文档字符串警告时 python pylint 会用蓝色波浪线突出显示整个函数 我怎样才能让它只突出显示函数定义或在定义行上制作一个小指示器 在开发时突出显示整个文件是非常烦人的 这是缺少类文档字符串的示例
  • 使用 Kotlin 协程替换 LocalBroadcastManager 以进行 Firebase 消息传递

    使用时Firebase 云消息传递 https firebase google com docs cloud messaging android client在 Android 上 通常需要通知当前Activity传入的推送通知 推荐的方法
  • Capybara 2.0 和 rspec-rails -- 助手在规范/功能中不起作用

    我正在尝试使用辅助模块中的方法 但 rspec 似乎无法识别辅助程序以进行测试spec features 请注意 唯一的更改是spec helper rb正在添加require capybara rspec 我尝试移动helper rb t
  • 无法实施第三方 Google 日历会议插件

    我正在研究 Google 日历会议插件的实施并发现了一些问题 我按照文档执行示例代码 但它没有按预期工作 从我的角度来看 我的清单文件是完整的 但是当我尝试从 从清单部署 链接发布日历会议插件时 它会打开我的谷歌日历 但它不会显示我的会议
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • ASIHTTPRequest:检测到不正确的 NSStringEncoding 值 0x0000

    检测到不正确的 NSStringEncoding 值 0x0000 假设 NSStringEncodingASCII 将停止此兼容性映射行为 不久的将来 当我使用 ASIHTTPRequest 时 我不断收到此错误 50 的时间 这是怎么回
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • ImageMagick 调整大小 - 设置横向和纵向图像的宽度

    我正在尝试将图像调整为给定宽度 按比例调整高度 无论图像是横向还是纵向 我有两张图像我测试了 ImageMagickconvert resize根据我所读到的命令 我希望以下内容适用于任何类型的图像 convert source jpg r