问题标签 [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 投票
2 回答
5176 浏览

c# - 使用aspnetcore web api中图像的EXIF数据旋转/翻转图像

我有一个网络应用程序,用户可以通过手机直接拍照上传个人资料照片。由于图像的 EXIF 方向,前端必须在显示图片之前对图像进行转换(旋转/翻转)。但是,我希望在保存图片之前在后端执行转换,以避免在前端进行转换。后端是用 c# 编写的 .net core 2.0 应用程序。

有没有人对可用于访问 EXIF 数据并进行转换的库有建议。

到目前为止,我已经找到了https://github.com/SixLabors/ImageSharp并浏览了它关于如何使用它的文档。

0 投票
2 回答
7502 浏览

imagesharp - 转换图像使用 ImageSharp 到字节 []

如何使用 ImageSharp 库将图像转换为字节数组?

ImageSharp 库是否还可以根据 EXIF 方向建议/提供 RotateMode 和 FlipMode?

0 投票
1 回答
3521 浏览

c# - 如何合并两张图片?

将 ImageSharp 用于 .Net 核心,如何并排组合 2 个图像?例如:使 2 100x150px 变为 1 100x300px(或 200x150px)

0 投票
1 回答
2618 浏览

c# - PdfSharpCore image rendering issue

Completely unable to render JPEG image to PDF using PdfSharpCore.

Code is as simple as

I know that ImageSource.ImageSourceImpl has to be set, and I've set it to the simplest ImageSharp-based implementation: ImageSource.ImageSourceImpl = new ImageSharpImageSource() which is indeed valid because XImage is being saved as logo1.jpg properly.

But my PDF is visually blank. Binary content is there, and it seem that all format properties are OK, but binary data is somewhat different from the source.

Here is how my ImageSharp implementation saves/loads the image:

Finally, PDF piece:

Please help, I'm stuck for a few days! New to this stuff so probably missing something?..

NOTE: gfx.DrawString() methods work properly, so I'm able to render text with the same setup.

0 投票
2 回答
456 浏览

c# - Azure 平台/Dotnet 核心上的可靠图像处理

我在 dotnet core 下的 Azure 平台上的图像有点挣扎,我希望有人能提出明智的建议。前提很简单:用户上传图像,以base64格式保存在数据库中(即将移动到Azure存储blob,但这与此无关)。稍后,网站所有者出现并单击一个按钮以将所有这些图像保存在 ZIP 文件中。在过去的 .net 框架中,这很容易。现在我似乎在打一组“是的,但是”的评论。

是的,有 system.drawing.image 但你不能使用它,因为它不在 dotnet 核心中(直到最近)。是的,您可以使用 CoreCompat,但它在 Azure 上不起作用,因为在 Web 应用程序中不支持 GDI+。是的,即使我可以,我也在 Mac 上开发,所以据我所知,它不会在本地工作。

我已经尝试了 ImageSharp 的 beta4,但没有取得很大的成功。它是随机的 - 有时它有效,有时它只是抛出 OutOfMemoryException。我试过 SkiaSharp 但结果相似;有时它有效,有时它会吐出随机错误消息。

在处理方面,我没有做任何花哨的事情,没有调整大小或任何事情。应该是从 Convert.FromBase64String 加载文件到字节数组的情况,创建 Zip 文件入口,最终吐出 zip 文件。ZIP 部分很好,但我需要一些可以做图像工作的体面的东西。

这是一段代码:

在我拔出剩下的一点头发之前,谁能给我一个可以处理图像、跨平台和 Azure 的库的明智建议!

谢谢

编辑:第一个答案在技术上是正确的,我不需要其他任何东西。但是,当我说我没有进行任何图像处理时,我可能有点错误。因为它都是base64,没有文件名存储在任何地方,我不知道它是什么类型的文件。因此,我将每一个都保存为 JPEG,以确保我始终可以输出该文件类型和扩展名。我猜用户可能正在上传 JPG / PNG 甚至 GIF。

0 投票
2 回答
97 浏览

f# - F# 使用通用参数调用 .Net 函数 - 不会编译

F#初学者在这里,我想用ImageSharp画一个多边形。构建失败:

方法“DrawPolygon”没有重载匹配。可用的重载如下所示。错误 FS0001:此表达式应具有“图像”类型,但此处具有“a * 'b”类型。

我要调用的方法的签名:

0 投票
4 回答
6643 浏览

c# - 如何在 .NET Core 中裁剪图像?

我需要在 .NET Core 中裁剪图像。我使用了 ImageSharp、CoreCompat 和 Microsoft.Windows.Compatibility,并扫描了我能找到的所有方法。但是,我仍然无法找到裁剪图像的方法。调整大小在那里,但没有裁剪。

如何根据左上角的像素位置、宽度和高度在 .NET Core 中裁剪图像?

0 投票
1 回答
163 浏览

f# - 如何从 GetPixelSpan 提取、向上转换和处理字节数组,然后保存回文件?

这可能是一件非常简单的事情,但我无法完全弄清楚如何将这些部分组合在一起。 这个问题这个问题以及API 文档中的这个页面都在某种程度上暗示了答案,但我无法从他们那里找出我需要的东西。

所以现在我正在尝试实现一个简单的小程序来打开图像,将像素取出到一个数组中,对它们进行一些处理,然后将更新的像素保存为新图像。在这种特殊情况下,我想将每个像素周围 3x3 窗口的平均值作为简单的模糊。具体操作不是太重要(肯定有更有效的方法,我现在专门尝试编写一个幼稚的版本,以便以后与其他版本进行比较),但我无法弄清楚如何制作这个发生。现在我拥有的是:

但它失败了,但有一个例外let out_img =。如果我不包含 JpegDecoder 部分,那么我会收到一条关于缺少解码器的错误消息,但如果我确实包含它,那么我会收到一条关于缺少 SOI 的错误消息。

所以,我的问题是,我如何才能提取像素并以比 8 位(例如 32 位)更大的可变大小使用它们/每个通道,以便我可以执行无法以每个通道 8 位表示的中间操作,之前将最终结果转换回字节,然后将其重构回可以作为图像保存到磁盘的东西?

我很可能忘记提及一些重要的事情,所以请随时要求澄清:) 谢谢。

0 投票
2 回答
620 浏览

android - 无法在 Xamarin Android 应用程序中加载用于 ImageSharp 的字体

我有一个 Xamarin Forms 应用程序,其中包含一个在 Android 项目Roboto-Regular.ttfAssets文件夹中调用的字体文件。它的 Build Action 设置为AndroidAsset.

使用SixLabors.FontsNuGet 包,我正在尝试加载此字体以将其用于水印。

但是,尝试使用资产流安装字体时,会抛出异常:

System.NotSupportedException:不支持指定的方法。

有什么想法可能导致这种情况,或者是否有更好的方法来加载字体以与SixLabors.ImageSharp包一起使用?

编辑:我尝试了 SushiHangover 的以下建议,但结果相同:

Xamarin 中的 Android 资产流

0 投票
1 回答
1735 浏览

imagesharp - 使用 ImageSharp 加载和保存不透明的 8 位 PNG 文件

我正在尝试加载-> 直接操作字节数组-> 保存 8 位 png 图像。

我想使用 ImageSharp 将其速度与我当前的库进行比较,但是在他们的代码示例中,他们需要定义像素类型(他们使用 Rgba32):

我查看了像素类型:https ://github.com/SixLabors/ImageSharp/tree/master/src/ImageSharp/PixelFormats

但是没有灰度 8 位像素类型。