问题标签 [magick.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.
c# - Magick.NET Image Resize 结果为 0 字节文件
我正在尝试使用 Magick.NET 调整图像大小,但在调用该Resize
函数后,FileSize
属性读取为0
. 我究竟做错了什么?
c# - MemoryStream 到 BitmapImage
我很难转换MemoryStream
成BitmapImage
. 关于类似情况有很多问题SO
,但是在尝试了所有这些之后,我一直无法解决这个问题,所以我求助于你。请注意,我正在使用Magick.NET
(ImageMagick.NET) 并且Tessnet2
-- 这就是其中的一些代码。
我使用Bitmap
类来完成 Magick.NET 和 Tessnet2 中的大部分工作。 BitmapImage
用于显示目的。
首先,我加载 PDF 并从其第一页中提取裁剪的位图:
那是我将位图保存到MemoryStream
. 一旦我MemoryStream
加载完毕,我就开始使用它。我实例化 a Bitmap
,以便我可以将它用于Tessnet2
相关工作,然后尝试实例化 a BitmapImage
。
这是我遇到问题的地方。没有那个DisplayImage
块,程序运行良好,我只是没有得到显示的图像。我什至可以毫无问题地将Bitmap
( TargetImage
) 保存到文件中。但是,有了DisplayImage
块,我得到System.NullReferenceException
:
我无法确定它发生的确切位置,因为该ImageStream
物体在检查时看起来“很好”。它包含数据并且位于位置 0。如果我尝试将其关闭或对其执行任何操作,在将其分配为StreamSource
to之后DisplayImage
,我会null
在尝试执行此类操作的行上遇到异常。我什至尝试创建两个不同的流,看看是否是问题所在;但是,我得到了完全相同的行为。调试这是一种痛苦,考虑到它不指向任何特定的行。MemoryStream
这和之间显然存在问题BitmapImage
。有没有可能两者之间存在某种格式/转换问题,但MemoryStream
在Bitmap
这种特殊情况下却没有?
我尝试了文件路径,将其保存MagickImage
到文件中并将其加载到其中BitmapImage
,Uri
它完美地工作;但是,我希望能够在内存中执行此操作。顺便说一句,将位置设置0
为 MemoryStream 似乎并没有影响Bitmap
(正确加载)或BitmapImage
(同样的例外)。
我目前使用的临时修复是制作DisplayImage
一个BitmapSource
,而不是BitmapImage
:
c# - ImageMagick - 为灰度图像设置级别
我用 C# 编写程序,但希望背景中的 C++ 和 C# 完全相同。我想要什么 - 拍摄灰度图像并分离超过 127 和低于 17 的颜色以分离图像。如果我只是得到“白色”颜色并以编程方式将它们从范围(127-255)拉伸到(0-255),比如
那么这里将不是平滑间隔。我的意思是,127 转换为 0,但 128 转换为 2,颜色 1、3、5、... 不存在。
那是带有 alpha 的原始图像:image original
那是带有“提取的白色”的图像:图像原始
那是带有“提取的黑色”的图像:snorgg.ru/patchwork/tst_black.png。
我不清楚它是如何实现的,所以示例代码如下:
提前感谢))
c# - Magick.net 比较
我正在使用 Magick.NET (Q16-x64 v7.0.0.0011) 来比较图像。当我使用 ImageMagick 的命令行版本并在没有任何特殊选项的情况下进行比较时,它会给出一个图像,其中相同部分显示为浅色背景,差异显示为红色。我试图在 Magick.NET 中复制这种行为。我尝试了以下代码:
我最终得到的是一个只显示差异的文件。如果您使用“-compose src”运行命令行版本,这似乎是您会得到的。不同之处在于 SetHighlightColor 设置为什么,而图像的其余部分是根据 SetLowlightColor 的纯色。我尝试了几种不同的文件和文件格式,结果相同。
在以下 SO 问题的答案中参考“图解示例”: 区分图像 我得到的是第一个示例。我想要的是最后一个例子。
任何帮助将不胜感激。
imagemagick - 切片图像,然后在 Magic.NET 中将切片组合成一个图像
我有一个图像,我想分割这个图像并在每个分割中添加一些额外的图像,然后将所有图像组合成一个图像。所以我写了这个代码:
我有 8 个拆分,但在方法 test4.png 的末尾是我的图像的最后一个拆分。我需要一种方法,每个拆分在一个图像中彼此并排插入。
c# - 使用 Magick.NET 创建多页 TIFF
我正在使用 Magick.NET 并尝试创建多页 TIFF 文件。我的输入是一个 PDF 文件。但是将结果写入 MemoryStream 或将其作为字节数组获取会导致错误:
iisexpress.exe:在写入目录之前刷新数据时出错。`TIFFWriteDirectorySec'@error/tiff.c/TIFFErrors/551
但是当我将结果写入硬盘上的文件时,没有错误并且文件很好。
这是我的代码:
magick.net - 是否可以将具有 Alpha 通道的 Windows 位图转换为 MagickImage?
使用 Magick.Net,是否可以(在内存中)将具有 Alpha 通道的 Windows 位图转换为 MagickImage?当我尝试以下操作时,.net 格式 Format32bppPARgb 和 Format32bppARgb 失败,但适用于 Format24bppRgb。错误消息是“此图像格式‘XWD’没有解码委托”。
c# - 如何使用 Magick.NET 最大限度地快速处理图像的每个像素?
我使用 lib Magick.NET 来访问图像文件。我需要处理图像上的每个像素:
但是,访问图像像素的颜色 (12000 X 16000) 需要 5 分钟以上......使用 lib Magick.NET 处理图像的所有像素的速度有多快?
asp.net - System.UnauthorizedAccessException:访问被拒绝。ImageMagick (Magick.NET)
我正在使用 Magick.NET-AnyCPU,它在本地运行良好。当我部署到我的服务器时它不起作用,并且我收到一个异常记录:
在做了一些挖掘之后,似乎库的 AnyCPU 版本在启动时尝试从 Temp 目录动态加载它需要的版本。任何有关如何解决此问题的帮助将不胜感激。我试图更新权限,但很难说这是否是原因。我试图使用该库的 x64 版本,但后来我什至无法构建我的项目,因为它引用了我猜是 x86 的系统框架。