问题标签 [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.
imagesharp - Imagesharp - 防止调整小图像的大小
如果图像的尺寸小于查询参数中指定的尺寸,是否可以阻止 Imagesharp 调整图像大小?
imagesharp - 确定照片区域的合同颜色
试图找出一种方法来确定照片区域的最佳对比色。对比色将用作某些叠加文本的颜色。
使用 Six Labor ImageSharp,到目前为止,我已经能够:
- 将图像流加载到 Sixlabor ImageSharp 图像中:
myImage = Image.Load(imageStream)
- 使用 Crop 进行突变以划分出文本应位于的大致区域:
myImage.Mutate(x =>x.Crop(rectangle))
但是如何确定这个裁剪区域的平均/主要颜色?
我在某处看到一种方法是将裁剪区域的大小调整为一个像素的大小。这很容易做到(下一步是:)myImage.Mutate(x => x.Resize(1,1))
,但是我该如何提取这个像素的颜色呢?
当我得到这种颜色时,我计划使用这种方法来计算对比色。
c# - 如何在 .NET 核心中使用 SixLabors Imagesharp 包添加图像水印
用于使用 SixLabors.ImageSharp(1.0.0-beta0006) nuget 创建图像的代码如下
我还想在当前图像上添加一些不透明度的图像水印。我尝试了几种方法,但无法做到。请让我知道如何做到这一点。
c# - 从同一来源生成多个图像的最有效方法是什么?C#/ASP.NET
我正在创建一个应用程序,它接受来自 IP 摄像机的大图像以显示在网站上。目前,图像为 4K 分辨率,大小范围在 1MB 到 3MB 之间。
这些图像将显示在画廊中。
为此,我只需要两个图像。一个 250 x 160 的缩略图和一个更大的灯箱图像(我选择了 1280 x 720)。但是,为站点的其他部分同时获取四个图像可能更有效。
我目前选择的库是 SixLabors.ImageSharp。
问题是,下面的代码是否是一种从一张图像生成图像而没有内存泄漏或其他陷阱风险的有效方法?
此代码最终将被重新编写为 AzureFunction (BlobTrigger)。
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解码器
代码:
c# - 使用 ImageSharp 缩小图像文件
我需要缩小我得到的每张超过 10MB 的图像。文件类型为 png、jpg 和 gif。我看到 ImageSharp 有一个调整图像大小的选项:
我看到了很多使用带有宽度和高度的 resize 函数的例子,但是没有一个使用这个大小选项,也没有文档准确解释“大小”的含义。
我尝试了以下方法:使用缩小 22.2MB 的图像maxFileSize=1024
产生了 527.9MB 的图片。“缩小”相同的图像maxFileSize=1024*2*10
产生了 47.4MB 的图片。
如何将图像缩小到大约 10MB 的大小(可以小一点)?我的目标是限制为 10MB,如果超过,将图像减小到 10MB 以下的最大可能大小而不影响比例。
c# - 将 ImageUniqueID 插入 JPEG 的 EXIF 数据而不使用 .NET 修改图像
我需要在不修改图像内容的情况下将唯一 ID 插入到图像文件中——即它只是我想要修改的元数据。我从 JPEG 文件开始,因为有一个适当的 EXIF 属性可用:ImageUniqueID。
我将 C# 与 .NET Core 3.1 一起用于ImageSharp的这个练习。我可以使用以下代码使用 ImageSharp 更改 EXIF 数据(在没有现有记录检查的情况下显示简化等):
我确实使用了 JpegEncoder 中的质量设置,但仍然出现不可接受的质量下降或文件大小增加。
有没有一种方法可以只读取元数据,对其进行更改然后将其写回而不影响图像?
我还查看了MetadataExtractor.NET,但它没有写入工具,我很乐意查看其他 .NET Core 方法或库。
c# - 如何将调整大小的图像保存到 ASP.NET Core 应用程序中的 Azure Blob 存储?
我正在使用该ImageSharp
库在将图像上传到 Azure 之前重新缩放图像,应用程序在执行UploadBlob
操作时挂起且没有错误,我认为这是导致它的流。上传图像时,从图像流中收集信息,我创建一个空MemoryStream
的,使用调整图像大小ImageSharp
,用我新缩放的图像填充MemoryStream
并尝试将其上传MemoryStream
到 Azure,我认为它不喜欢它它挂在哪里。
MemoryStream 是在这种情况下使用的正确东西还是其他东西?
汽车控制器.cs
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