问题标签 [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 投票
2 回答
586 浏览

c# - MagickImage 创建软边缘,进入 100% 透明

我的目标是在边缘变为 100% 透明颜色的任何图片上创建软边框(您应该看不到图像的边缘)

这是原始图像:

在此处输入图像描述

我发现了这个(http://www.imagemagick.org/Usage/thumbnails/#rounded):

在此处输入图像描述

这就是我后来所做的:

结果是这样的:

在此处输入图像描述

但是,您仍然可以清楚地看到边缘,因此它们不够透明。

当我将图像放入 Paint.NET 时,我看到边缘确实有些透明,但边缘可能只有 50% 透明,而不是 100%。

在此处输入图像描述

我试图调整级别百分比、模糊等等,但我似乎无法让边缘正确模糊。

如何使边缘 100% 透明,以便在网络上使用图像时图像的边缘变得不可见?

0 投票
0 回答
447 浏览

c# - 是否有通过 ImageMagick (.NET) 使用 GhostScript 的线程安全方式?

我正在使用 ImageMagick.NET(从这里:https ://www.nuget.org/packages/Magick.NET-Q8-AnyCPU/ )和 GhostScript(从这里:https ://www.ghostscript.com/ download.html ) 将 pdf 转换为图像缩略图:

只是按原样运行代码会间歇性地导致:

如果根本没有安装 GhostScript,就会出现同样的错误。似乎 ghostscript 可执行文件 (gswin64c.exe)间歇性不可用。但是,如果我将“读取”调用包装在锁中,如下所示:

...一切都按预期工作!然而,这不是一个可扩展的解决方案(负载性能测试表明资源匮乏,这可能导致这个平均时间为 1.5 秒的进程飙升至超过 20 秒!!),所以我正在寻找一种线程安全的方式来通过 ImageMagick 使用 GhostScript( 。网)。

这里有一个 7 年历史的线程,表明可以获取 GhostScript 的源代码并使用特殊标志自行编译。(不知道为什么线程安全不是默认设置,但这是一个单独的讨论)。然而,由于线程的年龄和解决方案从未被接受,我对此表示怀疑 - 事实上,提问者报告了解决方案的问题。此外,我不相信用户正在使用 ImageMagick,所以我什至不确定我是否能让它工作,如果它对我有帮助的话。

所以,我在这里再次问:有没有一种线程安全的方式来通过 ImageMagick (.NET) 使用 GhostScript?

更新:

经过 dlemstra 的一些测试和帮助后,我仍然看到一个问题,尽管它与以前不同(我希望这意味着我更接近了!)。

我的问题之一是我依赖 ghostscript .dll 来处理非锁定情况下的多线程请求,当使用 .dll 的线程被占用时,ImageMagick 会查找 .exe 以填充任何后续并发线程. 这解释了我上面描述的“找不到文件”错误 - 即使存在 .dll,也需要 .dll 和 .exe ghostscipts。所以我添加了.exe。

但是,我仍然得到FailedToExecuteCommand,但是这次它能够找到文件并且详细信息说error/ghostscript-private.h/InvokeGhostscriptDelegate/143

完整的错误信息:

0 投票
0 回答
124 浏览

.net-core - 使用 Magick.Net 生成的 Pdf 文件的 png 是黑色的 #695

我创建了一个小型 .net core 3.1 控制台应用程序,以使用 Magick.Net ( https://www.nuget.org/packages/Magick.NET-Q16-AnyCPU/ ) 将 pdf 转换为 png。我还安装了 ghostscript 公共许可证。一切正常,但输出图像完全是黑色的,我无法读取一行。如果我使用 Paint 打开文件,那就没问题了。这是我的代码:

我做错什么了吗?

0 投票
1 回答
47 浏览

centos - 如何以相同的结构将基于文本的表格从终端转换为图像?

我正在尝试将基于文本的表格转换为图像,但转换后结构被破坏。

我有下一个结构的文件:

在此处输入图像描述

在与 ImageMagick 和以下命令对话后:

我有下一张图片:

在此处输入图像描述

如您所见,列的结构被破坏了。你知道如何解决这样的问题吗?

问候, 伊霍尔

0 投票
1 回答
70 浏览

c# - 使用 ImageMagick.NET 控制代码中的图像设置(代码等效于命令行 -define)

我正在使用 ImageMagick.Net 来编写图像。我正在尝试控制输出图像中的一些设置。我不知道如何从代码中修改这些设置,尽管它们在 ImageMagick 命令行中可用(ImageMagick 定义)。

当使用“Deflate”方法压缩图像时,我对修改默认为 3 的“预测器”设置特别感兴趣。

示例代码:

这些设置是从命令行通过指定

Magick image.tif -define tiff:predictor=1

0 投票
1 回答
515 浏览

c# - 如何使用 Magick.NET (imagemagick) 和 C# 将 APNG 转换为 WEBP?

我试过这样但是APNG动画丢失了

我也在寻找无损但最大压缩的设置。我不关心 CPU 时间速度等。我需要无损和最大压缩。如何做到这一点?

所以我有很多PNG文件和一些APNG文件

我会把它们都变成WEBP文件

但是我仍然想保留 APNG 动画

这里要测试的示例 APNG:https ://static.pokemonpets.com/images/npcTrainers/trainer15125down.png

C# .net 框架 4.8,Magick.NET-Q16-AnyCPU,7.24.1.0

0 投票
0 回答
60 浏览

c# - 使用 ImageMagick.Net 修剪图像边框在修剪后的图像中产生细边框

我正在修剪下图周围的额外绿色边框空间

在此处输入图像描述

但是在修剪后,我使用 Image Magick.net 在图像周围得到了小的白色边框

带有绿色边框的图像

在此处输入图像描述

0 投票
1 回答
82 浏览

c# - 如何以编程方式计算图像的(相对)复杂度?

我已经彻底搜索了互联网,但没有太多相关问题。即使在stackoverflow上也没有

所以我想要实现的是相当困难的事情

我想计算图像的复杂性

让我向您展示我开发的游戏中的几个示例https://www.monstermmorpg.com/MonsterDex

我有一个非常复杂和非常详细的怪物艺术品,例如

https://www.monstermmorpg.com/Vesuverex-Monster-Dex-18

在此处输入图像描述

还有一个非常简单的

https://www.monstermmorpg.com/Cluckoon-Monster-Dex-152

在此处输入图像描述

所以我想计算图像的复杂度。

我想计算平面颜色复杂度、多线复杂度、良好的光线复杂度以及是否还有其他复杂度。由于具有各种图像复杂性,我将对图像进行分类并决定哪一个最适合我的目标。

那我为什么需要?当我使用 ImageMagick 调整它们的大小时,我将根据图像的复杂性应用过滤器,例如unsharp选项

它对边界的混叠产生了巨大的影响

我想在 C# 中计算图像的复杂度

我愿意使用 3rd 方库等。

0 投票
0 回答
45 浏览

imagemagick - 通过使用 imagemagick 的隐蔽命令来使用 ghostscript 的 -dprinted 选项

我正在使用ImageMagick将 PDF 转换为 JPEG/PNG 和 ImageMagick 在后端使用 GS(GhostScript) 将 PDF 转换为 JPEG/PNG。

现在,我想传递 GS(GhostScript) 命令的几个参数,它们是-dUseCropBox-dPrinted=false,我已经设法-dUseCropBox在 ImageMagick 中 找到选项,-define pdf:use-cropbox=true但我无法找到-dPrinted=false. 在这里,我的限制是由于某种原因我无法更新 ImageMagick 的delegation.xml 文件。

我正在使用以下命令将 PDF 转换为 JPEG。

另外,我正在寻找imagemagick 中的选项以在将 PDF 转换为 JPEG/PNG 时忽略不可打印的图层

0 投票
0 回答
41 浏览

colors - 在 Magick.NET 中更改图像颜色

我有以下标准 .net 库方法可以完美地运行,以便将图像的颜色更改为任何其他颜色的单色:

我一直在玩 Magick.NET,看看是否可以使用该库实现相同的转换(希望代码少得多),但到目前为止还没有成功。

我目前正在做的改造是:

灰度 >>> 图像负片(暗 -> 亮,反之亦然) >>> 应用新颜色

任何人都可以帮忙吗?