有没有什么技巧可以创建电视静态的 gif 动画,使其相对较小?

2023-12-31

提前道歉,但这并不是一个真正的 Photoshop 问题。相反,我试图想出一些令人信服的东西,但尽可能地利用 gif 格式的压缩和功能来生成尽可能小的动画文件。

一些限制:

  • 它至少需要 20 或 30 帧。我尝试过使用更少的帧(因为它们基本上是不可压缩的,一般来说,15 帧的大小是 30 帧的一半)
  • 尺寸需要不小于约256x192
  • 但它不需要是彩色的,甚至不需要是全灰度的。我见过令人信服的剧照,灰度只有 16 左右
  • 它可以有一种图案,但不是人眼立即显而易见的图案。如果有人拍摄一帧并在一两分钟后可以发现模式(这使得它可以压缩?),那没关系
  • 第 2 帧到第 n 帧可以使用相当多的 Alpha,但是当我开始使用大的 Alpha 水平条纹时,我的眼睛立即注意到了这一点。所以你不可能通过简单的作弊来积累大量的 RLE。
  • 以上所有内容仍然需要在 30-33 毫秒的帧速度下看起来不错。没有变速或依赖任何比这更快的东西。

也可以接受:符合上述限制的 apng。甚至可能是 mpeg,如果你能想出的话(我不知道 DCT 是如何发挥其魔力的)。

理想情况下,我可以得到 250kbyte 范围内的东西,但我会满足于任何比我上周制作的 9 meg 怪物小得多的东西。

哦,最后一件事:显然我不希望任何人为我提供图形。我只是在寻找一些技巧,让我最终能够实现这一目标。


这是一个非常有趣的问题。

静态(随机噪声)本质上是高度不可压缩的。信息论认为,真正的噪声基本上是不可压缩的,并且某物包含的模式越多,它的可压缩性就越高(达到 1 或 0 的实线完全可压缩的程度)。

理想的情况是创建一个真正的噪声生成器(只是随机数),但这在问题的限制范围内没有帮助。

我能想到的最好的办法是存储一些小的静态图块并以交错的方式显示它们,以防止任何图案吸引眼球。除此之外,将其压缩到超过 256 x 192 x 20 / 2 或大约 500 KB(假设 20 帧,分辨率为 256 x 192,使用 4 位颜色深度)不会有太大运气。

只需将您的动画 gif 编码为 16 色模式即可实现这一目标。

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

有没有什么技巧可以创建电视静态的 gif 动画,使其相对较小? 的相关文章

  • 为什么Google Analytics使用单像素图片来传输数据?

    Google Analytics 分析 嵌入一个单像素 GIF 其 URL 如下所示 http www google analytics com utm gif utmwv 5 1 5 utms 5 utmn 1532897343 utmh
  • 当电影绘制到画布中时 Android 错误信号 11

    我正在开发一个 Android 应用程序 我试图在其中显示 GIF 图像 为此 我使用 Movie 类并创建了一个扩展 View 的类 GIFView 我从 Movie decodeFile 方法获取 Movie 实例 调用 Movie d
  • 将多个png转换为gif作为R中的动画

    我的目录中有一堆 png 文件 我想通过 R 将它们转换为 gif 动画 文件 您能告诉我该怎么做吗 这是一些您可以使用的虚拟代码 首先使用magickGIF 包 使用magrittr包或dplyr包为 gt library magick
  • 如何使用 C# 调整动画 gif 图像的大小?

    有没有一种方法可以使用 C 创建动画 gif 图像的副本 我想要的是使用用户提供的高度和宽度参数生成给定 gif 图像的副本 我已经尝试了几个小时来完成此任务 但生成的图像没有保留原始动画 我花了一段时间才找到这个问题 但终于找到了解决方案
  • 如何将屏幕录制成 gif 格式? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这就是我正在谈论的例子 你怎么能做到这一点 这取决于您的平台 并且有很多方法可以做到这一点 在 Mac OSX 上 有一个内置的 Quic
  • Canvas 中同一动画 GIF 的多个实例 (Java)

    所以我正在制作一款游戏 你可以在角色的位置放置炸弹 当炸弹显示并最终爆炸时 每个炸弹都与一个 GIF 图像相关联 想想炸弹人 问题是 当我尝试在屏幕上绘制多个炸弹时 它是从 GIF 的最后一帧绘制的 经过调查 我找到了 image flus
  • 以编程方式设置Android动画列表

    我正在尝试将 gif 动画添加到我的应用程序中 1 我可以从服务器下载 gif 动画 2 我能够解码动画 gif 使用我的自定义解码器 并拥有与其帧相对应的单独位图 现在我想使用逐帧动画来制作它的动画 正如我所读到的 要执行逐帧动画 首先需
  • PNG、GIF、JPEG、SVG 有哪些不同的用例? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在构建网站或界面等时何时应使用某些图像文件类型 他们的优点和缺点是什么 我知道PNG和GIF是无损的 而JPEG是有损的 但 PNG
  • 如何使用 PIL 创建透明 gif(或 png)(python-imaging)

    尝试去create带 PIL 的透明 gif 到目前为止我有这个 from PIL import Image img Image new RGBA 100 100 255 0 0 0 img save test gif GIF transp
  • 如何在Android中播放GIF文件?

    我想在当前活动中播放 GIF 文件 我有一个 XML 文件 其中有一个布局 我想在同一个班级的 Activity 中播放 GIF 有没有一种简单的方法可以在 Activity 类中播放 GIF 文件 您可以使用网络视图 我将用一个例子来展示
  • Java 中的 ArrayList 与 String

    我正在实现LZW算法 我已经成功地针对字符串和文本文件实现了它 并且当前正在修改我的代码以处理二进制文件 例如图像或可执行文件 因为我无法将这些文件作为字符串读取 我已经更换了String输入我的代码ArrayList
  • 有没有一种简单的方法可以用 Pygame 制作和保存动画?

    我制作了一个非常简单的分形生成器 可以打印出每个步骤 我想把它放在我所做的演示中 我用来制作演示的工具显然不支持 pygame 有什么方法可以将其保存为视频吗 最好是动画 gif 等 http visvis googlecode com h
  • Python:将 GIF 帧转换为 PNG

    我对 python 很陌生 试图用它来将 GIF 的帧分割成 PNG 图像 Using this GIF http www videogamesprites net FinalFantasy1 Party Before Fighter Fr
  • Java ImageWriter BufferedImage 到 GIF

    我希望你们能帮我解决这个问题 我不确定这是 Java 中的错误还是我做错了什么 但我会选择后者 我想将 BufferedImage 转换为 GIF 图像 然后我希望将 GIF 以字节数组的形式保存在内存中 我不想将文件保存到磁盘 该程序应该
  • 如何在 JavaScript 中获取 gif 图像的持续时间

    我只尝试显示一次 gif 所以我使用这段代码来实现这一点 var ui img document getElementById ui image ui img hidden false setTimeout function ui img
  • 使用 (imagemagick) `mogrify` 将 webp 文件转换为动画 gif 时如何避免丢失?

    使用此代码mogrify format gif webp我在另一个论坛找到的https superuser com questions 1506337 batch convert webp files to gif files offlin
  • python: X 服务器上的致命 IO 错误 11(资源暂时不可用):0.0

    我正在尝试读取一些图像 稍后打算对它们执行一些任务 同时将图像读入内存 我想显示动画 gif 图像 为此 我必须使用线程 现在它给出错误 python Fatal IO error 11 Resource temporarily unava
  • 如何在 Android 中从 JPEG 创建动画 GIF(开发)

    我正在寻找一种简单的方法create本机 Android 应用程序中的动画 GIF 源文件应为 JPEG 来自相机或其他文件 输出应在设备上保存为 GIF 我不想知道如何播放动画或动画 GIF 文件 需要明确的是 我想知道如何将单个图像逐帧
  • 在 iOS 11 中创建 Gif 图像颜色贴图

    最近 我在创建 Gif 时遇到了一个问题 如果它太大 颜色就会丢失 然而 感谢 SO 的帮助 有人能够帮助我找到解决方法并创建我自己的颜色图 上一个问题在这里 保存动画 Gif 时 iOS 颜色不正确 https stackoverflow
  • 简单 – 按顺序对多个 SVG 进行动画处理(如循环 GIF)

    我正在尝试做最基本的SVG动画 我发现的一切都试图教我关键帧和类似的高级东西 我在 After Effects 中了解关键帧 但这根本不是我需要的 我想做的就是按顺序为相同的 8 个 svg 路径设置动画 就像翻书一样 我可以在其中轻松编辑

随机推荐

  • 多语言安装

    我正在尝试使用以下命令安装 多语言 pip install polyglot 但我收到以下错误 Command python setup py egg info failed with error code 1 in C Users K 1
  • Realm:比较原始类型的 List,例如:List

    比较 Realm 字符串列表的预期方法是什么 我正在尝试比较 Realm 中的两个字符串列表 如下所示 func testRealmListOfStrings let strings a b c let list1 List
  • 为什么条件移动不能正常工作

    在我编译下面的代码后 该功能似乎没有按预期工作 int cread int xp return xp xp 0 我提取了汇编版本中的对应部分 如下所示 xp在寄存器中 edx movl 0 eax testl edx edx cmovne
  • 高图表中的条件标记颜色

    我正在使用 Highcharts 我想用不同的颜色填充折线图中的标记 例如 当变量 a 为 1 时 则用红色填充标记 否则用绿色填充 可以这样做吗 这是代码 http jsfiddle net EnyCJ 1 http jsfiddle n
  • 如何获取mysql中两个日期之间的时间记录?

    我正在制作一个考勤系统 它包含两个日期之间的时间表 例如 晚上 10 00 到凌晨 3 00 如何从 mysql 数据库中检索时间范围在 2 个日期之间的行 我已经知道如何在 mysql 中使用 BETWEEN 我的问题是如何在不知道确切时
  • 如何从时间戳转换为 Mongo ObjectID

    我知道我们可以使用getTimestamp 从 ObjectId 中检索时间戳 但是有什么方法可以从时间戳生成 ObjectId 吗 更具体地说 如果我有一个输入month and year 然后我想将其转换为Mongo对象ID要在数据库中
  • 使用 jquery 遍历表格单元格

    我有一个包含可变数量列的表 我编写了一个函数来迭代每行中的每个单元格以执行以下操作 检查是否存在输入 检索输入的值 将饼图附加到条件 1 计算结果为 true 的任何单元格 这是我的代码 function addPieCharts var
  • Kubernetes minikube 教程后无法停止 10 个容器

    docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7523fd2c20c7 gcr io google containers k8s dns sidecar am
  • Drupal 7 示例模块,找不到页面,为什么?

    我编写了一个简单的测试模块示例 2个文件 test module test info 并在drupal 7模块中启用了它们 我清除了所有缓存 但当我尝试访问 localhost drupal hello 时 我得到 drupal 404 页
  • 如何在python中实现multiprocessing.Queue的LIFO?

    我了解队列和堆栈之间的区别 但是如果我生成多个进程并在它们之间发送消息multiprocessing Queue如何访问首先放入队列中的最新元素 您可以使用多处理管理器 https docs python org 3 library mul
  • 构建 Clojure 源代码的惯用方法[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对人们如何构建 Clojure 源代码感兴趣 由于习惯了 Java 我非常熟悉每个源代码文件一个类的范例 将所有数据和方法定义与适当的注释和注
  • Spring Security授权无需认证

    我有一个 Java JSF 2 Spring 3 Hibernate 4 Java EE 应用程序 它使用第三方库来对用户进行身份验证 我将所需的 CA 证书导入到 JVM 中 将第三个库添加到项目中并在 web xml 中进行配置 图书馆
  • 在 mechanize 中禁用 ssl 证书验证

    我是 python 新手 我试图使用 mechanize 访问网站 br mechanize Browser r br open https 172 22 2 2 这给了我以下错误 Traceback most recent call la
  • 如何动态调整静态 UITableViewCell 的大小? [复制]

    这个问题在这里已经有答案了 可能的重复 带有包装标签的静态表格单元格的动态高度 https stackoverflow com questions 11981071 dynamic height for static table cells
  • z-index 不适用于绝对位置

    我打开控制台 chrome firefox 并运行以下几行 body append div style width 100 height 100 background color black div body append div styl
  • 枚举和定义语句之间的区别

    在 C C 中使用 Define 语句和 enum 语句有什么区别 在 C 或 C 中使用它们时有什么区别 例如 什么时候应该使用 enum BUFFER 1234 over define BUFFER 1234 enum定义语法元素 de
  • 为什么引用计数器需要内存顺序限制?

    在示例中boost atomic the unref功能 void intrusive ptr release const X x if x gt refcount fetch sub 1 boost memory order releas
  • Vue html 注释处理

    我正在使用 Vue 生成一些 html 模板 我需要按照下面的代码包含 html 条件注释 var productTemplate new Vue el myApp div div class some content This is so
  • 库的 stylePreprocessorOptions,我应该放在 angular.json 中的哪里?

    我正在尝试使用stylePreprocessorOptions为了包含我的变量文件夹的路径对于图书馆项目像这样 stylePreprocessorOptions includePaths styles variables 然后我用 impo
  • 有没有什么技巧可以创建电视静态的 gif 动画,使其相对较小?

    提前道歉 但这并不是一个真正的 Photoshop 问题 相反 我试图想出一些令人信服的东西 但尽可能地利用 gif 格式的压缩和功能来生成尽可能小的动画文件 一些限制 它至少需要 20 或 30 帧 我尝试过使用更少的帧 因为它们基本上是