问题标签 [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.

0 投票
1 回答
84 浏览

imagesharp - Imagesharp - 防止调整小图像的大小

如果图像的尺寸小于查询参数中指定的尺寸,是否可以阻止 Imagesharp 调整图像大小?

0 投票
2 回答
389 浏览

imagesharp - 确定照片区域的合同颜色

试图找出一种方法来确定照片区域的最佳对比色。对比色将用作某些叠加文本的颜色。

使用 Six Labor ImageSharp,到目前为止,我已经能够:

  1. 将图像流加载到 Sixlabor ImageSharp 图像中:
    myImage = Image.Load(imageStream)
  2. 使用 Crop 进行突变以划分出文本应位于的大致区域:
    myImage.Mutate(x =>x.Crop(rectangle))

但是如何确定这个裁剪区域的平均/主要颜色?

我在某处看到一种方法是将裁剪区域的大小调整为一个像素的大小。这很容易做到(下一步是:)myImage.Mutate(x => x.Resize(1,1)),但是我该如何提取这个像素的颜色呢?

当我得到这种颜色时,我计划使用这种方法来计算对比色。

0 投票
0 回答
844 浏览

c# - 如何在 .NET 核心中使用 SixLabors Imagesharp 包添加图像水印

用于使用 SixLabors.ImageSharp(1.0.0-beta0006) nuget 创建图像的代码如下

我还想在当前图像上添加一些不透明度的图像水印。我尝试了几种方法,但无法做到。请让我知道如何做到这一点。

0 投票
1 回答
436 浏览

c# - 从同一来源生成多个图像的最有效方法是什么?C#/ASP.NET

我正在创建一个应用程序,它接受来自 IP 摄像机的大图像以显示在网站上。目前,图像为 4K 分辨率,大小范围在 1MB 到 3MB 之间。

这些图像将显示在画廊中。

为此,我只需要两个图像。一个 250 x 160 的缩略图和一个更大的灯箱图像(我选择了 1280 x 720)。但是,为站点的其他部分同时获取四个图像可能更有效。

我目前选择的库是 SixLabors.ImageSharp。

问题是,下面的代码是否是一种从一张图像生成图像而没有内存泄漏或其他陷阱风险的有效方法?

此代码最终将被重新编写为 AzureFunction (BlobTrigger)。

0 投票
2 回答
3874 浏览

c# - 无法在 c# 中使用 SixLabors.ImageSharp 处理 .jpg 图像 - 版本 1.0.0-beta0007

我无法在 c# 中使用 SixLabors.ImageSharp 版本 - 1.0.0-beta0007 保存 jpg 图像,它会引发错误。除了 GIF、PNG、JPEG、BMP 格式的图像之外,还有什么解决方案可以解决这个问题。

抛出异常:

无法加载图像。可用的解码器:

  • GIF : Gif解码器
  • PNG:PNG解码器
  • JPEG:JPEG解码器
  • BMP:Bmp解码器

代码:

0 投票
2 回答
1629 浏览

c# - 使用 ImageSharp 缩小图像文件

我需要缩小我得到的每张超过 10MB 的图像。文件类型为 png、jpg 和 gif。我看到 ImageSharp 有一个调整图像大小的选项:

我看到了很多使用带有宽度和高度的 resize 函数的例子,但是没有一个使用这个大小选项,也没有文档准确解释“大小”的含义。

我尝试了以下方法:使用缩小 22.2MB 的图像maxFileSize=1024产生了 527.9MB 的图片。“缩小”相同的图像maxFileSize=1024*2*10产生了 47.4MB 的图片。

如何将图像缩小到大约 10MB 的大小(可以小一点)?我的目标是限制为 10MB,如果超过,将图像减小到 10MB 以下的最大可能大小而不影响比例。

0 投票
2 回答
582 浏览

c# - 将 ImageUniqueID 插入 JPEG 的 EXIF 数据而不使用 .NET 修改图像

我需要在不修改图像内容的情况下将唯一 ID 插入到图像文件中——即它只是我想要修改的元数据。我从 JPEG 文件开始,因为有一个适当的 EXIF 属性可用:ImageUniqueID

我将 C# 与 .NET Core 3.1 一起用于ImageSharp的这个练习。我可以使用以下代码使用 ImageSharp 更改 EXIF 数据(在没有现有记录检查的情况下显示简化等):

我确实使用了 JpegEncoder 中的质量设置,但仍然出现不可接受的质量下降或文件大小增加。

有没有一种方法可以只读取元数据,对其进行更改然后将其写回而不影响图像?

我还查看了MetadataExtractor.NET,但它没有写入工具,我很乐意查看其他 .NET Core 方法或库。

0 投票
1 回答
713 浏览

c# - 如何将调整大小的图像保存到 ASP.NET Core 应用程序中的 Azure Blob 存储?

我正在使用该ImageSharp库在将图像上传到 Azure 之前重新缩放图像,应用程序在执行UploadBlob操作时挂起且没有错误,我认为这是导致它的流。上传图像时,从图像流中收集信息,我创建一个空MemoryStream的,使用调整图像大小ImageSharp,用我新缩放的图像填充MemoryStream并尝试将其上传MemoryStream到 Azure,我认为它不喜欢它它挂在哪里。

MemoryStream 是在这种情况下使用的正确东西还是其他东西?

汽车控制器.cs

0 投票
1 回答
652 浏览

c# - C# 六工 ImageSharp 运行时错误 System.Memory 4.0.1.0 Visual Studio 2019

在 Visual Studio 2019 中加载的需要图像处理的项目中,使用了Six Labors ImageSharp库。但是在尝试加载图像时,会弹出运行时错误:

在使用 ImageSharp 的项目中,安装了 System.Memory 引用并且属性说它是4.0.1.0. 但是当编译并检查 DLL 的详细信息时,它会说4.6.28619.1

我尝试删除引用并使用 NuGet 重新安装,但版本差异相同。NuGet 包也不显示4.0.1.0“以前的版本”部分下列出的版本。

试图重新安装不同的可用版本,System.Memory但没有奏效。还搜索了 GitHub repo 上的问题,但没有提及。

ImageSharp 是否链接到4.0.1.0并且无论您安装什么版本,它都会显示4.0.1.0

我该如何解决这个问题,以便不显示运行时错误并且我可以使用 ImageSharp?

更新:安装每晚构建“解决”了问题。这个使用 System.Memory >= 4.5.3

0 投票
1 回答
167 浏览

c# - 调整大小后的图像左侧有一条变色线

我正在尝试使用 SixLabors.ImageSharp(版本 1.0.0-beta0007)将图像大小调整为 .NET Core C# 应用程序中的缩略图。我注意到只有某些图像,调整大小的图像具有白色、红色或蓝色扭曲边框,如下所示:

在此处输入图像描述

在此处输入图像描述

我生成缩略图的代码如下:

这两张图像是从同一设备捕获的,并且都具有相同的尺寸(3024x4032),这是我能注意到的唯一相似之处,因为我是图像处理的新手。我也玩过调整大小模式和不同的重采样器,但无法解决这个问题。

是什么导致了这个问题?有没有办法通过使用 SixLabors.ImageSharp 库来解决这个问题?