如何使用 C# 调整动画 gif 图像的大小?

2024-02-06

有没有一种方法可以使用 C# 创建动画 gif 图像的副本?

我想要的是使用用户提供的高度和宽度参数生成给定 gif 图像的副本。我已经尝试了几个小时来完成此任务,但生成的图像没有保留原始动画。


我花了一段时间才找到这个问题,但终于找到了解决方案:

Install 魔法网通过 NuGet,可以在此处找到许可证:
https://magick.codeplex.com/license https://magick.codeplex.com/license

示例代码:

var newWidth = 100;
using (var collection = new MagickImageCollection(new FileInfo(@"C:\test.gif")))
{
    collection.Coalesce();
    foreach (var image in collection)
    {
        image.Resize(newWidth, 0);
    }
    collection.Write(@"c:\resized.gif");
}

根据我的测试,这适用于 Alpha 通道和不同的帧速率。看起来很完美!

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

如何使用 C# 调整动画 gif 图像的大小? 的相关文章

  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 按成员序列化

    我已经实现了template
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 混合混合模式背景,子内容不受影响

    我正在尝试使用混合混合模式来创建具有多重效果叠加的背景 该叠加效果还可以显示部分背景 我还需要子内容不受混合模式的影响 像这样 我尝试将混合模式设置为取消设置 我也尝试使用隔离 隔离 但似乎无法使该选项起作用 我不想使用伪元素或将内容放置在
  • 如何在 django Rest Framework 中反转 ViewSet 自定义操作的 URL

    我已经为 ViewSet 定义了自定义操作 from rest framework import viewsets class UserViewSet viewsets ModelViewSet action methods get det
  • QTableView格式化数字

    我已经创建了一个代表 我可以对齐并粗体显示表格上的数字 我想强制它们保留两位小数 例如 1 2 应显示为 1 20 这是 delagte 的标题 ifndef TOTALDELEGATE H define TOTALDELEGATE H i
  • Unity (Unity5) 中 c# 中的属性 - 可以避免支持变量吗

    对于Unity5 很难确切地知道正在使用什么版本的c Mono Net 我们的属性完全像这样 private int distance public int Distance private set distance value contr
  • 当元素为空时,保存会向 XML 添加返回换行符

    我正在加载一个 XML 文档 其中有一些没有内部文本的标签 如果我用一些数据填充内部文本 那么它会根据需要工作 您可以在一行上获得开始标记 内部文本和结束标记 如下所示
  • Android Web 视图中的 Html 音频

    我是 HTML 和 Java 的初学者 我正在尝试使用 HTML 和 Java 通过 Web 视图在 Android 上的简单 Web 应用程序中播放音频文件 我已经成功地让它在 Android 4 0 上运行 但它不适用于 2 3 3 或
  • Erubis 块助手通过 concat 抛出错误

    我有几个块助手 这是我正在做的一个简单示例 def wrap foo foo block data capture block content div class data div concat content end 我只是尝试 erub
  • Hibernate 缓存级别 1

    我对缓存级别 1 有一个误解 到目前为止 我发现缓存级别 1 仅用于推迟 sql 调用 直到刷新事务 但是物体呢 例如 我仅使用缓存级别 1 如果我在 1 个事务内多次加载同一个对象 会发生什么情况 hibernate 是否使用某种身份映射
  • 提交颠覆时可以修改文本文件吗?

    我想在正在提交的文本文件上运行以下脚本 Send the commands H and w to ed ed will append newline if the file does not end in one printf s n H
  • 将标记捕捉到最近的折线点 Google 地图颤动

    我正在为我的大学班车编写一个简单的公交车跟踪应用程序 我已经将公交车 GPS 绘制为导航箭头以及地图上的路线 现在 由于实际的 GPS 坐标与绘制的路线相比 与公交车的实际位置有一些偏差 因此稍微偏离了道路 我可以调用任何方式或方法将这些标
  • Rails ActiveRecord 按连接表关联计数排序

    我有一个Resource可以使用 Acts As Votable 宝石进行投票的模型 Github页面 https github com ryanto acts as votable 投票系统运行完美 但我试图显示按数量排序的页面votes
  • 如何更改已发布扩展的发布者名称?

    我想更改 VScode 市场中的发布者名称 我怎么做 迟回复 你看过这个吗VS Code Github 问题 https github com Microsoft vscode issues 3670 基本上他们说他们could从技术上讲
  • 处理 Hibernate 事务

    目前我已将此代码复制到each我的控制器方法之一 Transaction transaction HibernateUtil getSessionFactory getCurrentSession getTransaction if Hib
  • 在 Rails 3 应用程序中使用 jQuery-UJS 进行远程 link_to 时出现解析器错误:如何调试?

    我正在尝试使用 Rails 3 单击链接后替换 div 的内容 remote link remote gt true和 jQuery 到目前为止 我已经能够让控制器渲染正确的部分 同时使用 200 HTTP 代码进行响应 我设置了一些回调来
  • 在 R 中更改 Tor 身份

    我将 Tor 与 R 结合使用 并希望针对每个新请求更改我的 IP 我的代码如下 library RCurl opts lt list proxy 127 0 0 1 proxyport 8118 for i in 1 10 con lt
  • 适用于 Android 的 Adob​​e AIR 上的无引脚 OAuth

    我在 Adob e AIR for Desktop iOS 上使用了无引脚 OAuth 但在 Android 上则不行 由于某种原因 我们没有得到 oauth verifier 其中包含 Android 设备上 StageWebView 中
  • Kotlin 中从 String 到 List 的 jOOQ 转换器

    我正在处理一种罕见的情况 我发现将 JSON 存储在 RDBMS 字段中是可以接受的 JSON 文档是一个数组或键值对象 So the jOOQ转换器 https www jooq org doc 3 11 manual code gene
  • 我无法将 jsPDF 与 Angular 10 一起使用

    我试图使用打印我的页面jspdf图书馆 我已经尝试了很多解决方案来完成这里的示例和几乎每个谷歌建议链接 但我仍然无法修复它 这是我到目前为止所尝试过的 import as jsPDF from jspdf openPDF void cons
  • 提供通过 Node.js 中的链接标签链接到 HTML 文件的 CSS 样式表,无需框架

    我一直通过反复试验的方式自学 Node js 我使用 Node js HTTP 类构建了一个简单的服务器 我发现我可以异步读取文件并使用异步服务提供数据fs readFile cbk 回调方法 目前我不明白的是如何响应请求所需的所有其他资源
  • 如何使用 C# 调整动画 gif 图像的大小?

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