问题标签 [imagesharp]
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.
image - SixLabors:将 img 颜色空间转换为 sRGB
首先 - 我不精通色彩空间
,所以如果我没有很好地提出问题或者答案真的很明显,请原谅我
我正在使用sixlabors imagesharp
,因为我从所有不同的随机来源获取图像
我想检查每个图像的色彩空间
,如果它不在sRGB中,然后将其转换为sRBG
我找不到任何关于如何使用 Sixlabors 来设置此转换
的教程,而且文档有很多选项,我迷失在其中,这
是到 Sixlabors 颜色空间命令的链接 Sixlabors 颜色
空间转换
有人可以帮我
指路,或者至少发送一个关于如何使用imagesharp进行简单转换的示例链接吗?
ps:我用imagesharp完成了图像突变和操作,
但没有处理色彩空间
imagesharp - 如何将图像保存为 TIFF 格式?
我想知道是否可以使用 ImageSharp 库将图像保存为 TIFF 格式,如果可以,该怎么做?我在 Image 类上找不到任何合适的方法。
来源:https ://docs.sixlabors.com/articles/imagesharp/imageformats.html
在他们的 GitHub 存储库中已经完成了一些工作,但我在项目文档中找不到任何信息。 https://github.com/SixLabors/ImageSharp/labels/formats%3Atiff
imagesharp - 如何在 ImageSharp 中按颜色进行选择?
就像在 PhotoShop 中按颜色进行选择的方式一样,我们如何使用 ImageSharp 来做到这一点?
该作业是否有现有的处理方法?
https://docs.sixlabors.com/api/ImageSharp/SixLabors.ImageSharp.Processing.html
c# - 使用后释放/减少 ImageSharp 内存使用量
我创建了一个测试 WPF 应用程序来测试 SixLabors.ImageSharp,以查看它的性能以及它是否满足某些要求等,然后再集成到生产应用程序中。
我的测试应用程序包含一个 Image 控件,用于显示将要操作的图像,以及几个按钮用于加载图像、旋转、应用旋转。
当应用程序启动时,它会消耗大约 30-40MB 的系统内存。
但是,一旦我使用以下代码对图像应用旋转并保存回磁盘,内存使用量就会从 ~25-40MB 变为 ~300-500MB。
如果我对图像应用第二次旋转,内存使用量会再次上升到大约 600-800MB 左右。
如果我对图像应用第三次旋转,内存使用量再次上升到大约 850-1,000MB 左右。
如果我对图像应用第四次旋转,内存使用量会下降到执行第一次旋转的位置,大约 300-500MB。
我指定应用程序使用 MinimalPooling 来尝试降低内存使用量。
轮换代码
查看ImageSharp 文档,它指出 ImageSharp 保留了大约 300-400MB 的内存,因为它们使用了 ArrayPools。这解释了第一次使用库时的第一次内存跳转,但是随后的内存使用跳转我不明白也不知道如何释放。
我用过
正如在他们的文档中发现的那样,我认为应该释放所持有的资源。情况似乎并非如此。如果我对我的图像应用 3 次旋转并且内存使用量约为 1GB,那么在运行的应用程序中任何时候都不会减少到 300MB 以下,即使控件正在另一个窗口上使用然后随后关闭也是如此。
有谁知道如何减少这种内存使用或处理所有东西,以便内存使用恢复正常。
谢谢
c# - 如何使用 ZXing.ImageSharp 获取条形码下方的标签?
我在 ASP.NET Core 5.0 应用程序中使用ZXing.Net.Bindings.ImageSharp来生成 Code128 条形码。 0.16.9-beta
我的问题是我无法让代码在条形码下方生成文本标签 - 即使PureBarcode = false
已指定。
我创建了两种测试方法:
- 第一种方法不使用ImageSharp,而是使用
System.Drawing
. 此方法GetBarcode("123")
按预期工作并生成带有以下文本标签的条形码:
- 第二种方法使用
ImageSharp
. 但是,此方法GetBarcodeImageSharp("123")
不会生成带有以下文本标签的条形码:
我究竟做错了什么?
c# - 如何在 ImageSharp 上对并行、像素格式不可知的图像处理应用自定义处理逻辑?
我正在尝试构建一个 Blazor Server Web 应用程序,该应用程序使用 ImageSharp 通过 ARGB 像素修改任何上传的图像。所以,我看到了这个网页(<https://docs.sixlabors.com/articles/imagesharp/pixelbuffers.html)。在“Parallel, Pixel-Format Agnostic Image Manipulation”部分,它有一个我想添加到我的网络应用程序的代码示例:
但是,我一直在想如何让这段代码在我的网络应用程序上运行。您能否在此代码中为我提供一个自定义处理逻辑的示例?或者,我可以使用其他更好的代码吗?
这是我的网络应用程序的 Razor 页面,供您参考。
asp.net-core - net::ERR_CONNECTION_REFUSED 尝试使用 SixLabors.ImageSharp.Web 从 azure blob 容器获取图像时
我正在尝试使用 ImageSharp.web 使用 .net Core 进行图像处理。在使用存储在 wwwroot 中的图像进行测试后,该图像成功运行,我现在正在尝试处理存储在 Azure Blob 存储中的图像,但我没有成功,得到“服务器响应状态为 404 ()”(未找到)。
我遵循了 Sixlabors 教程,但无法在以下位置获得图像结果:
https://localhost:44344/X/foto-teste10515264.jpg -> X 是容器名称。
我在 startup.cs 中有以下配置:
我的配置:
我已经将 URL 更改为 https://localhost:5001/X/foto-teste10515264.jpg 现在我得到 net::ERR_CONNECTION_REFUSED
azure - 在 imagesharp.web 上使用自定义 CacheHash 时出现 Http 错误 500
我正在尝试使用自定义 CacheHash 类为 blob 的名称生成自定义键。
这是 IClass 的代码:
和班级本身:
和启动:
这一切都在本地工作。但是,一旦我发布到 Azure 域,它会给我一个 HTTP 500,说该页面不工作。此外,它在使用原始的 Sixlabors 类发布到 Azure 后也可以工作。
c# - ImageSharp 从流中获取主色
我正在尝试寻找替代方案System.Drawing
并ColorThief
在 Linux 的 docker 容器中使用(因为前面提到的有一些问题)。
到目前为止,我找到了这个要点
但它似乎在旧版本上,因为OctreeQuantizer
现在有一个不同的构造函数。
我尝试了不同的方法,但大多数时候我要么总是得到FFFFFF
一个空引用异常。
当我尝试时,我得到了 NRE new OctreeQuantizer(new QuantizerOptions { Dither = null, MaxColors = 1 })
,我认为这可能与要点相同。当我使用 QuantizerOptions 时,我总是变白。
我在图像处理和 ImageSharp 方面几乎没有经验,感觉好像我错过了一些东西。
tl; dr:尝试使用 ImageSharp 从流中找到主色。