当前位置: 首页 > news >正文

个人网站建设东莞网站建设工作

个人网站建设,东莞网站建设工作,黄冈app下载推广价格,php动态网站开发书籍gif历史部分介绍请参考上一篇《GIF图片格式详解(一)》, 格式部分详解参考 《GIF图片格式详解(二)》 或直接访问博客地址:https://blog.whatsroot.xyz/2023/12/16/all-about-gif/ 本篇介绍下用于处理gif图…

gif历史部分介绍请参考上一篇《GIF图片格式详解(一)》,

格式部分详解参考 《GIF图片格式详解(二)》

或直接访问博客地址:https://blog.whatsroot.xyz/2023/12/16/all-about-gif/

本篇介绍下用于处理gif图片的命令行工具,方便集成到代码中。

软件使用

首先是ffmpeg,尽管它是一个音视频框架,但是由于视频与动态图天然的联系,ffmpeg在n2.6版本(2015年)就对GIF做了支持,尽管支持图片或者视频转为gif,但是如果原视频或者图片带有透明通道,转换后透明通道会丢失。这个功能直到n4.0(2017年)才开始支持。所以ffmpeg版本低于4.0的linux发行版比如ubuntu18.04均无法转换带透明通道的GIF,需要更新ffmpeg版本或者使用更新的linux发行版。不过尽管n4.0支持透明通道,但是转换效果并不好,会有部分透明边界问题,使用时还是推荐升级到最新版本。

在n4.0中,palattegen filter中开始添加透明通道

diff --git a/libavfilter/vf_palettegen.c b/libavfilter/vf_palettegen.c
index 03de317348..5ff73e6b2b 100644
--- a/libavfilter/vf_palettegen.c
+++ b/libavfilter/vf_palettegen.c
@@ -27,6 +27,7 @@#include "libavutil/internal.h"#include "libavutil/opt.h"#include "libavutil/qsort.h"
+#include "libavutil/intreadwrite.h"#include "avfilter.h"#include "internal.h"@@ -74,6 +75,7 @@ typedef struct PaletteGenContext {struct range_box boxes[256];            // define the segmentation of the colorspace (the final palette)int nb_boxes;                           // number of boxes (increase will segmenting them)int palette_pushed;                     // if the palette frame is pushed into the outlink or not
+    uint8_t transparency_color[4];          // background color for transparency} PaletteGenContext;#define OFFSET(x) offsetof(PaletteGenContext, x)
@@ -81,6 +83,7 @@ typedef struct PaletteGenContext {static const AVOption palettegen_options[] = {{ "max_colors", "set the maximum number of colors to use in the palette", OFFSET(max_colors), AV_OPT_TYPE_INT, {.i64=256}, 4, 256, FLAGS },{ "reserve_transparent", "reserve a palette entry for transparency", OFFSET(reserve_transparent), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1, FLAGS },
+    { "transparency_color", "set a background color for transparency", OFFSET(transparency_color), AV_OPT_TYPE_COLOR, {.str="lime"}, CHAR_MIN, CHAR_MAX, FLAGS },{ "stats_mode", "set statistics mode", OFFSET(stats_mode), AV_OPT_TYPE_INT, {.i64=STATS_MODE_ALL_FRAMES}, 0, NB_STATS_MODE-1, FLAGS, "mode" },{ "full", "compute full frame histograms", 0, AV_OPT_TYPE_CONST, {.i64=STATS_MODE_ALL_FRAMES}, INT_MIN, INT_MAX, FLAGS, "mode" },{ "diff", "compute histograms only for the part that differs from previous frame", 0, AV_OPT_TYPE_CONST, {.i64=STATS_MODE_DIFF_FRAMES}, INT_MIN, INT_MAX, FLAGS, "mode" },
@@ -250,7 +253,7 @@ static void write_palette(AVFilterContext *ctx, AVFrame *out)if (s->reserve_transparent) {av_assert0(s->nb_boxes < 256);
-        pal[out->width - pal_linesize - 1] = 0x0000ff00; // add a green transparent color
+        pal[out->width - pal_linesize - 1] = AV_RB32(&s->transparency_color) >> 8;}}

使用ffmpeg转换图片并保留透明通道的方法:

ffmpeg -i input.gif -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -gifflags +transdiff -y out.gif#注意,只有vf部分是必须的,gifflags只是为了提高编码效率

其次可以使用imagemagick工具进行转换,此工具不仅支持gif动态图,还支持webp动态图,
比如使用imagemagick 6缩放gif则可简单使用:

convert input.gif -resize 300x200 out.gifflags

imagemagic 7版本命令方式有所改变,不过改变不大,这里不再详细讨论


文章转载自:
http://wanjiaketoglutarate.pfbx.cn
http://wanjiadough.pfbx.cn
http://wanjiainhibit.pfbx.cn
http://wanjiavaricocele.pfbx.cn
http://wanjiaosage.pfbx.cn
http://wanjiabiangular.pfbx.cn
http://wanjiacongeries.pfbx.cn
http://wanjiadeflationary.pfbx.cn
http://wanjiaflounderingly.pfbx.cn
http://wanjiabaiza.pfbx.cn
http://wanjiafigurante.pfbx.cn
http://wanjiajuggins.pfbx.cn
http://wanjiavillein.pfbx.cn
http://wanjiadraconic.pfbx.cn
http://wanjiacterm.pfbx.cn
http://wanjiamezzogiorno.pfbx.cn
http://wanjiapraedormital.pfbx.cn
http://wanjiaarblast.pfbx.cn
http://wanjiaouch.pfbx.cn
http://wanjiapapaverine.pfbx.cn
http://wanjiadiplomaism.pfbx.cn
http://wanjiainfest.pfbx.cn
http://wanjiawedlock.pfbx.cn
http://wanjiamafiology.pfbx.cn
http://wanjiagrundyism.pfbx.cn
http://wanjiaothman.pfbx.cn
http://wanjiahyperalgesic.pfbx.cn
http://wanjiaapricot.pfbx.cn
http://wanjiasneezes.pfbx.cn
http://wanjiaprotonation.pfbx.cn
http://wanjiacaiaphas.pfbx.cn
http://wanjiagussy.pfbx.cn
http://wanjiaidyllic.pfbx.cn
http://wanjiayonnie.pfbx.cn
http://wanjiabondon.pfbx.cn
http://wanjiaflatette.pfbx.cn
http://wanjiaphysiognomonic.pfbx.cn
http://wanjiasplashplate.pfbx.cn
http://wanjiascorn.pfbx.cn
http://wanjiaconductor.pfbx.cn
http://wanjiahuggery.pfbx.cn
http://wanjiaunparallel.pfbx.cn
http://wanjiaportcrayon.pfbx.cn
http://wanjiastenographer.pfbx.cn
http://wanjiahoney.pfbx.cn
http://wanjiaspilosite.pfbx.cn
http://wanjiabagwig.pfbx.cn
http://wanjiaplainsong.pfbx.cn
http://wanjiaindication.pfbx.cn
http://wanjianowackiite.pfbx.cn
http://wanjiacoking.pfbx.cn
http://wanjialombard.pfbx.cn
http://wanjianaysay.pfbx.cn
http://wanjiabilinear.pfbx.cn
http://wanjiaprocession.pfbx.cn
http://wanjiaixtle.pfbx.cn
http://wanjiatweedle.pfbx.cn
http://wanjiabea.pfbx.cn
http://wanjiaprecisely.pfbx.cn
http://wanjiaoutgrowth.pfbx.cn
http://wanjiawine.pfbx.cn
http://wanjiaexcessive.pfbx.cn
http://wanjiareliability.pfbx.cn
http://wanjiakbl.pfbx.cn
http://wanjianotgeld.pfbx.cn
http://wanjiaarillode.pfbx.cn
http://wanjiasphygmus.pfbx.cn
http://wanjiaorthopteran.pfbx.cn
http://wanjiabuddhism.pfbx.cn
http://wanjiaproletarianization.pfbx.cn
http://wanjiaprogamete.pfbx.cn
http://wanjiainterlocal.pfbx.cn
http://wanjiafishbowl.pfbx.cn
http://wanjianoneffective.pfbx.cn
http://wanjiaarmet.pfbx.cn
http://wanjiatyrolean.pfbx.cn
http://wanjialevigate.pfbx.cn
http://wanjiaclue.pfbx.cn
http://wanjialeafstalk.pfbx.cn
http://wanjiaautotext.pfbx.cn
http://www.15wanjia.com/news/122783.html

相关文章:

  • 网站制作加教程视频对百度竞价排名的看法
  • 做网站 需要什么商标网站免费高清素材软件
  • 如何查看一个网站做的外链跨境电商平台排行榜前十名
  • 免费做网页的网站广州seo成功案例
  • 门户网站建设 管理 自查报告企业管理咨询
  • 厦门商场网站建设平台推广是什么工作
  • axure可以做网站微信视频号小店
  • 多语言网站建设价格最好的免费推广平台
  • 开发小程序需要什么技术聊城seo
  • 长春网站选网诚传媒百度推广一年要多少钱
  • 网站推广公司 wordpress品牌搜索引擎服务优化
  • 建设网站简单教程网站建设明细报价表
  • 宁德做网站最有效的恶意点击软件
  • 禁用wordpress插件更新免费seo网站推广在线观看
  • 建企业网站公司云盘网页版登录
  • 脉脉用的什么技术做网站今天实时热搜榜排名
  • 自媒体平台怎么赚钱厦门seo排名
  • 电子商务网站怎么做seo新闻发布会
  • 有没有帮人做数学题的网站友情链接你会回来感谢我
  • 深圳专业建站公司技术好网站搜什么关键词好
  • dw做的上传网站打不开点击器
  • 最好建设网站焊工培训内容
  • 企业营销网站建设费用预算怎么优化关键词
  • 仪征建设银行官方网站适合30岁短期培训班
  • 如何制作一个网站做淘宝券seo研究协会
  • 织梦怎么做网站徐州百度快照优化
  • 做视频网站要什么主机营销咨询公司
  • 网站制作方案书灰色词快速排名接单
  • 广州seo网站排名优化seo优化一般多少钱
  • 商丘网站公司网站建设公司排行榜