问题标签 [imagemagick.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
103 浏览

c# - 如何使用 Magick.NET 将动画 webp 图像转换为动画 gif?

GDI+ 和 System.Drawing 不支持 WebP 图像。为了在我的 C# Windows 桌面应用程序中处理它们,我使用 Magick.NET 将它们转换为受支持的 Gif 图像。这很好用,除非 WebP 图像是动画的。我用来测试动画图像转换的代码如下:

如果拖入 chrome 浏览器,animated.webp 和 animated.gif 都会播放。但是,生成的图像都不会播放。在 chrome 中,它们只是显示动画源图像的第一帧。

使用 ImageMagick 的命令行版本,我可以使用以下脚本将 animated.webp 和 animated.gif 转换为可播放的图像:

所以我知道 ImageMagick 支持动画图像的转换。

我安装的 Magick.NET 版本是 Magick.NET-Q8-AnyCPU 版本 8.5.0
我安装的 ImageMagick 版本是 ImageMagick-7.1.0-Q8
我的 C# 应用程序使用的是 .NET Framework 4.8

谁能告诉我我的 C# 应用程序需要做什么才能从动画 webp 生成可播放的动画 gif?

0 投票
0 回答
15 浏览

imagemagick - Imagemagic:如何使用 C# 将背景图像添加到另一个图像

我想将图像调整为自定义宽度和高度(例如:225 X 225)。并用绿色背景填充剩余区域以获得确切的自定义图像大小。使用 .net imagemagic 库。

拳头图:

在此处输入图像描述

结果图像:

在此处输入图像描述

0 投票
1 回答
26 浏览

imagemagick - Image Magick 在中间将 2 个裁剪/调整大小的图像混合在一起

嘿,我在下面有这段代码,它需要 2 张图像并将它们合并在一起,并在中心淡出:

以上产生了这个:

在此处输入图像描述

使用这个面具:

在此处输入图像描述

取自这两张图片(降低分辨率以适合此处):

testingl.jpg(原始尺寸 1224 x 1632)

在此处输入图像描述

testingr.jpg(原始尺寸 828 x 1792)

在此处输入图像描述

这段代码按原样工作得很好。做我需要它做的事情,但有一个例外 - 我希望将更多的每张图像放入其中。就像调整图像大小一样,从图像中心裁剪图像,然后将其混合。我需要保持相同的 1080 x 440 整体尺寸。

两者都这样做看起来像这样:

在此处输入图像描述

更新 1

运行@fmw42 的代码时:

我明白了:

在此处输入图像描述

0 投票
0 回答
15 浏览

imagemagick - 将 3 个 imagemagick cli 参数组合成一个 ImageMagick.NET 代码

嘿,我有这3 个 imageMagick 脚本(命令行参数),我试图将它们组合到 Imagemagick.NET 代码中。

首先(将 2 个图像合并在一起):

第二(创建2个里面有照片的圆形物体):

第三(在照片上写文字):

如果我能够结合所有这 3 个,那么输出将如下所示:

在此处输入图像描述

我试图将它们全部放入一个单行中,但似乎找不到正确的方法(主要是顺序)这样做。

我确实有一些代码可以在 C# 中生成圆形图像:

援助会很棒!@fmw42

0 投票
2 回答
59 浏览

imagemagick - ImageMagick 从 pdf 转换为图像缩小图像并将其放置在左下角

我正在使用此命令将页面从 pdf 转换为 jpeg 图像:

magick convert -density 300 sample.pdf output.jpeg

我看到一个白色背景,PDF 的内容显示为一个较小的图像,贴在白色“画布”的左下角谁能帮助解释为什么会发生这种情况以及如何防止这种“收缩”?

我的 PDF 有 14 页。以下是其中一些页面的元数据:

以下是其中一页的实际和预期输出:

实际输出: 实际输出

预期输出:

预期产出

编辑:这是一个示例 PDF:

https://www.dropbox.com/s/0bzu5brfzbedd7i/sample.pdf?dl=0

0 投票
0 回答
24 浏览

c# - 如何控制 magick.NET 生成的图像的 PixelFormat

我在 .NET Framework 4.8 Winforms 应用程序中使用 Magick.NET-Q8-AnyCPU v8.6.1 来添加对 System.Drawing 命名空间(例如 WebP)中不可用的图像类型的支持,并将图像转换为灰度。System.Drawing.Bitmap 图像有两个控制其内部结构的属性;像素格式和图像格式。

MagickImage.Format 很好地映射到 ImageFormat 属性,但我无法弄清楚如何在 MagickImage 转换属性和所需的 Bitmap.PixelFormat 属性之间进行映射。例如,将图像转换为 png 时,我正在使用:

pngImage 有时会具有与“anImage”匹配的 PixelFormat,有时则不会。我无法预测或设置 pngImage 的 PixelFormat。如何强制使用magickImage.Write() 写入的图像的PixelFormat?

同样,要将 png 图像转换为灰度,我正在使用:

如果 magickImage.Format 是 Format.Gif,则 grayImage 的 PixelFormat 为 Format8bppIndexed,对于所有其他 magickImage 格式,则为 Format32bppArgb。如何更改代码以获取 PixelFormat.Format8bppIndexed 和 ImageFormat.Png?

一般来说,如何控制通过 Magick.NET 创建的图像的 PixelFormat?

0 投票
1 回答
28 浏览

c# - ImageMagick .net c# mp4/webm 视频在没有伪影的情况下获得 N 帧?

尝试使用 .net 上的 ImageMagick 库对帧进行一些操作(调整大小+与其他图像组合),但面临不正确的“重新组装”视频,输出视频带有一些伪影。

因此,作为 mp4 短文件的示例,我们有:mp4 (130kb):https ://c2n.me/4eU1Twz.mp4

第一帧是:在此处输入图像描述 第二帧是:在此处输入图像描述

以及所有具有类似伪影的下一帧。

获取帧并将它们保存到磁盘的代码:

如果我试图将图像“重新组合”到 mp4(进行一些修改,使用 compose() 方法等),我会得到带有伪像的视频。来自输出 .mp4 的样本:

所以需要以某种方式修复它,但不知道为什么。有人可以帮我吗?

在此处输入图像描述

0 投票
1 回答
12 浏览

c# - Magick.NET 设置 PSD Blendmode

我正在尝试使用 Magick.NET 创建一个 psd 文件。我找不到任何有关是否可以将特定图层的混合模式设置为正片叠底的信息。谁能帮我?这是我的代码:

我现在希望将“imgAO”图层设置为不透明度为 80% 的正片叠底。这可能吗?