首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在产生GIF时,亮度对比度是否累积应用?

在产生GIF时,亮度对比度是否累积应用?
EN

Stack Overflow用户
提问于 2014-12-17 06:41:13
回答 1查看 281关注 0票数 2

我正在从一系列JPEG生成一个GIF。

我对每幅图像使用亮度对比度选项,如下所示:

代码语言:javascript
运行
复制
convert -loop 0 -layers optimize
-delay 10 thing1.jpg -brightness-contrast 5x5 
-delay 10 thing2.jpg -brightness-contrast 5x5
-delay 10 thing3.jpg -brightness-contrast 5x5
-delay 10 thing4.jpg -brightness-contrast 5x5
thing.gif

我注意到的是,亮度和对比度的变化似乎是累积的,第一幅图像受到的影响最大。我正在寻找的是应用相同的亮度-对比度调整所有图像,但相反,第一个图像似乎增加了40%,第二个30%,等等。

还有其他人经历过吗?是否有一种方法可以对用于构建GIF的所有单个图像平等地应用相同的更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 11:17:37

以下问题见我的答案:

由于-brightness-contrast是图像操作符(而不是图像设置),因此它将立即应用于所有当前加载的图像(然后被遗忘):

  1. 当您第一次应用它时,只加载thing1.jpg。运算符被应用于这一张图像。
  2. 当您第二次应用它时,thing2.jpg将被加载,但是(已经修改过的) thing1.jpg仍然会被加载。运算符被应用于这两个图像。

要解释您的+ my版本的命令是如何工作的,请注意这一点:

  • -loop 0:是图像设置
  • -delay 10:是图像设置
  • -亮度-对比度5x5:是图像操作符
  • -layers优化:是图像序列运算符

因此,你应该试试这个:

代码语言:javascript
运行
复制
convert -loop 0                  \
        -delay 10                \
         thing1.jpg              \
         thing2.jpg              \
         thing3.jpg              \
         thing4.jpg              \
        -brightness-contrast 5x5 \
        -layers optimize         \
         thing.gif

如果您需要应用不同的值,但不累加地分别控制每个亮度对比度级别,则应使用\(.....\)括号对图像进行“旁白”处理:

代码语言:javascript
运行
复制
convert -loop 0                                                 \
         \( thing1.jpg -delay 10  -brightness-contrast 5x5 \)   \
         \( thing2.jpg -delay 20  -brightness-contrast 10x20 \) \
         \( thing3.jpg -delay 100 -brightness-contrast 10% \)   \
         \( thing4.jpg -delay 1   -brightness-contrast 0x50 \)  \
        -layers optimize                                        \
         thing.gif
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27519712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档