问题标签 [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 回答
624 浏览

c# - Magick.NET 控制 JPEG 的色度二次采样和量化表

我在 C# 中使用 Magick.NET 进行图像处理。是否可以在使用 Magick.NET 保存为 JPEG 时控制色度二次采样和/或指定备用量化表。

0 投票
1 回答
3056 浏览

asp.net-core - 如何在 Linux Ubuntu 16.04 上运行的 ASPNET Core 中正确使用 ImageMagick.NET?

我正在尝试创建一个 ASPNET Core 应用程序,我想在其中显示缩略图。我选择使用 ImageMagick.NET 框架,因为它有一个用于 dotnet 核心的 nuget 包。在使用 Visual Studio 2015 的 Windows 计算机上开发时,缩略图可以正常工作。我现在尝试发布到 Linux 服务器 - Ubuntu 16.04。应用程序运行并向控制台显示输出。当我尝试使用 ImageMagick 对象时,我收到一个错误...

在我的 Linux 计算机上搜索显示该文件不在文件系统中。我的 Windows 开发系统上有这个文件,所以我将它复制到我的 ASPNET Core .dll 文件所在的 Linux 服务器上,但我仍然收到此错误。

我现在想知道是否必须在我的 Linux 服务器上安装一些 ImageMagick 运行时文件,但我不确定。

考虑到开发系统是 Windows 而生产系统是 Linux,将 ImageMagick 与 dotnet 核心一起使用的正确方法是什么?

0 投票
1 回答
1988 浏览

c# - 无法用 Magick.Net 替换颜色

我正在尝试用绿色替换白色,但下面的代码不会改变颜色。

代码:

UPD我试图改变复合重力和运算符,但没有任何改变。

我该做什么?

0 投票
1 回答
2544 浏览

imagemagick - ImageMagick,将特定位置/大小的图像插入更大的图像?

我首先绘制一个带有列的宽透明图像,效果很好。

然后我正在旋转另一个图像,再次正常工作。

但是,我正在尝试将第二个(旋转图像)插入到特定位置/大小的第一个图像中。我遇到了问题,我尝试了几件事,最接近的似乎覆盖了源图像。

我应该使用什么?

另外我应该如何提高这个操作的速度。

编辑:问题如下所示...

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
4911 浏览

c# - 使用 ImageMagick.Net 将 JPG 转换为具有背景透明度的 PNG

我需要将 JPG 图像转换为 PNG 并将其白色背景更改为透明。我正在使用 ImageMagick.NET 并且我发现以下 ImageMagick 命令应该可以实现我想要实现的目标:

我曾尝试将其转换为 c#,但我得到的只是一个白色背景的 png 图像。我的代码片段:

任何形式的帮助将不胜感激。谢谢!!

0 投票
1 回答
323 浏览

magick.net - Magick.net 没有 OpenMP?

我开始使用 Magick.net,它只使用一个线程执行任务。我是否必须做一些事情使它使用多个线程执行过滤操作?或者 OpenMP 不是 Magick.net 的一部分?从命令行使用 ImageMagick 可以完美地使用 OpenMP 和所有内核。

刚刚检查了 GraphicsMagick 的 Magick.net。OpenMP 在那里工作...

0 投票
1 回答
835 浏览

c# - ImageMagick C#如何添加JPEG EXIF标签

在 VS2013、Framework 4.6 中使用 ImageMagick 8 for .Net

我正在尝试将 exif 标签添加到 jpeg 图像,

我的代码:

问题是最后一行抛出这个:“exif 值应该是一个数组”

将字符串转换为字符串数组或字节数组也不起作用,

  • 我是否使用正确的标签 (ExifTag.XPKeyWords) 将标签添加到 jpeg?
  • 如果我是对的,那么使用 ImageMagick 向 jpeg 添加标签的正确语法是什么?
0 投票
3 回答
2469 浏览

asp.net - 无法加载文件或程序集“Magick.NET-x86.DLL”或其依赖项之一。指定的模块无法找到

我已经看到了Harsh Gupta 的票“无法加载文件或程序集 'Magick.NET-x86.DLL' 或其依赖项之一”,我遇到了同样的问题,但没有这些解决方案适合我。

我有一个包含 ImageMagick 的 Web 应用程序,它新安装在新的 Windows Server 2012 实例上(我们正在从 Windows Server 2008 R2 实例迁移到该实例)。该应用程序在 Server 2008 和本地运行正常,但在 Server 2012 上运行不正常。

我在将 Magick.Net 从 6.8.7.502 升级到 7.0.7.300 后重建了项目,希望7.0.6 中引入的自述文件中提到的 .Net Standard / .Net Core 支持能够解决我的问题,但是徒劳无功。在此之前,我还安装了 VC++ 2012 和 2015,正如 Harsh Gupta在他们接受的答案中提到的那样。

尽管如此,我仍然收到“HTTP 错误 500.0 - 内部服务器错误”页面,告诉我:

模块: AspNetInitializationExceptionModule
通知: BeginRequest
处理程序: ExtensionlessUrlHandler-Integrated-4.0
错误代码: 0x00000000
请求的 URL: [已编辑]
物理路径: [已编辑,但正确]
登录方法:尚未确定
登录用户:尚未确定

事件日志显示来自 ASP.NET 4.0.30319.0 的警告事件,事件 ID 为 1310 和以下堆栈跟踪:

查看 webroot,该bin文件夹确实包含 Magick.NET-x86.dll(以及 Magick.NET-Q16-x86.dll 和 Magick.NET-Q16-x86.Native.dll),并且该IIS_IUSRs组确实具有对这些的读取权限DLL(以及所有其他)。

虽然它是 64 位服务器,但 AppPool 确实将Enable 32-bit applications设置为True。将 AppPool 的托管管道模式集成更改为经典也没有效果。但是,我确实注意到,AppPool 的应用程序数量被列为零(尽管网站的高级设置对话框显示了正确的 AppPool 名称): AppPools 截图

我完全不知所措,我们现在在迁移此应用程序方面落后于计划,因此我们将不胜感激地收到任何建议。

谢谢!

编辑添加:在 Github 上的票 #107 上有更多信息。

0 投票
1 回答
2188 浏览

c# - Magick.net 将 PDF 转换为图像“无法创建临时文件'':没有这样的文件或目录@error/pdf.c/ReadPDFImage/476”

我正在尝试在控制台应用程序中使用 Magick.net 来渲染 PDF 中的图像,但似乎无法解决这个问题。

在调用“MagickImageCollection.Read(byte[], settings)”时,我总是得到一个

“无法创建临时文件'':没有这样的文件或目录@error/pdf.c/ReadPDFImage/476”

例外。

我试过了:

  • 将 x86 和 64 位 Ghostscript dll 放在 bin 文件夹中。
  • 使用 AnyCPU、x86、64 版本 Magick.net 与 GS 版本的组合
  • 将 MagickNET.SetGhostscriptDirectory 设置为程序文件 GS bin 文件夹
  • 将 MagickNET.SetTempDirectory 设置为 c:/temp 中的文件夹,并确认我的应用程序可以通过以编程方式在其中移动文件来访问。
  • 将 MagickAnyCPU.CacheDirectory 设置为 c:/temp 中的文件夹

我不知道我可能做错了什么

0 投票
0 回答
519 浏览

c# - .NETCore 图像绘图库无法在 linux 上运行

嘿伙计们,我正在尝试制作一个在图像上绘制一些文本并且能够在 linux 操作系统上运行的 .NETCore 应用程序。

我尝试了 CoreCompat 绘图库、ImageSharp、ImageMagick,但我什至无法让其中一个在 linux 上工作。

我在 Windows 上开发应用程序,一切正常,所以我去为 linux 发布它,我做了一个 dotnet publish -r linux-arm,将发布文件夹复制到我的 linux“服务器”上并运行它*(相同的设置适用于大多数.Netcore 应用程序我到目前为止所做的)*,但它对我尝试的所有库都抛出了几乎相同的异常,例如:

未处理的异常:System.TypeInitializationException:“NativeMagickSettings”的类型初始化程序引发了异常。--->
System.DllNotFoundException:无法加载 DLL 'Magick.NET-Q8-x64.Native.dll':找不到指定的模块。

以 ImageMagick.Net 为例。只需替换 dll 名称,其他库也会出错。而且我一无所知,我在谷歌上搜索了一些提示,但没有一个有用。我的问题是,是否有人对此异常有经验,或者如果您知道一些工作图像绘图库,请告诉我它的名称:D

如果我留在 imageMagick,我正在使用这个https://github.com/dlemstra/Magick.NET/blob/master/Documentation/CrossPlatform.md

包引用正确,但找不到任何 Magick.NET-Q8-x64.Native.dll.so

ldd Magick.NET-Q8-x64.Native.dll.so

还尝试:

导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/ImageMagick/libraries

但没有任何结果。所以,如果你有任何线索我能做什么,或者如果你知道我可以在 linux 上使用的图像库,请说出来,谢谢 :)