问题标签 [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.
asp.net-core - ServiceStack Nuxt.js SPA 和 ImageSharp.Web 集成
我正在将我的项目从 Asp.Net MVC 迁移到 ServiceStack Nuxt.js SPA,而我在 MVC 上使用的一件事是 ImageProcessor.Web 以动态操作图像
我现在正在尝试在 ServiceStack Nuxt.js 模板上将 ImageSharp.Web 与 Azure blob 一起使用。
我在 ConfigureServices 中注册了服务
以及在配置中
但我无法打开图像
http://localhost:3000/blob/media/picture.jpg
在这种情况下,如何启用 ImageSharp.Web 来拦截对 /blob 路由的调用?
是否可以使用 Azure blob 进行缓存,这样就不会在本地存储任何文件?
提前致谢
c# - 我无法使用机器人在不和谐频道上显示图像
我想使用 Imagesharp 框架将图像输出到通道,或者我是这个框架的新手。最初,我收到此错误“无法从”SixLabors.ImageSharp.Image“转换为”字符串”。我试图通过编写字符串 a = $ “{zx}”来解决问题;等待回复Async(a) 并没有不行。
c# - 如何在保留 mimetype 的同时使用 ImageSharp 从磁盘加载图像并保存到流
我有一堆图像存储在磁盘上,图像的 mimetype 存储在数据库中。如果我想将图像保存到磁盘,我可以使用Image.Save(string)
(或异步版本)而无需知道图像的 MimeType。
但是,如果我想保存到流(例如,Response.Body
),那么我必须使用Image.Save(Stream, IImageEncoder)
.
如何获得IImageEncoder
我需要保存到流中的内容(而不只是声明“我的所有图像都是 png/jpeg/bmp”并使用 eg JpegEncoder
)?
c# - 是否可以使用 SixLabors.ImageSharp 库转换图像格式?
我一直在研究这个库,目的是在 C# 中制作图像处理管道。我希望它能够接收 .png 图像并将其转换为 .jpeg。但是我还没有找到使用这个库的方法。甚至可能吗?有没有人能够成功地做到这一点?
这是我最好的镜头:
结果是图像被简单地保存为 .png。我是处理图像的新手,所以我可能会遗漏一些东西。
c# - 使用 ImageSharp 将包含 Bgra32 的传入缓冲区转换为 ImageSharp 图像的最佳方法是什么图片?
我PixelFormats.Bgra32
从 UAP 和 WPF 获取图像,我想知道将它们与 SixLabors.ImageSharpImage<Rgba32>
图像相互转换的最快方法。在我使用复制缓冲区后,是否有一些神奇的“突变”可以翻转像素字节TryGetSinglePixelSpan
?
c# - 使用 ImageSharp 获取图像中特定像素的颜色数据?
以前发过,但是因为写错了,关了。我正在尝试获取图像中单个像素的颜色。我也在尝试从外部源加载图像 - 在这种情况下,假设我正在尝试从尺寸为 400x400px 的“abcd.jpg”(或 png 在这里并不重要)中获取颜色。我想要获得的颜色是 200x200 的像素。我根据以前的答案尝试的是:
但这不起作用,每当我尝试使用 TPixel 或 Rgba32 时,它只会告诉我“变量图像不能与类型参数一起使用”和“找不到类型或命名空间 TPixel”。有人请帮忙,老实说,我不在乎我得到颜色的格式,我只需要以某种方式获取颜色数据。提前致谢。
asp.net-core-mvc - 我可以将 ImageSharp 与 .Net Core 一起使用来截取网络浏览器的屏幕截图吗
我有一个 Asp.Net Core 2.2 MVC Web 应用程序。它设置为多租户并在 Azure 上运行。
为了改进支持选项,我想增加用户创建浏览器窗口屏幕截图的可能性,然后将其附加到发送到支持台的电子邮件中。(发送电子邮件已经是解决方案的一部分)
由于应用程序托管在云中,我不知道用户正在/将使用什么设备,它可以是 PC(Windows、Mac ...)或平板电脑(智能手机在技术上是可行的,但由于应用程序的性质非常不可能)所以它不应该与浏览器或操作系统绑定。
在四处搜索后,我发现了跨平台的 ImageSharp,但我没有找到任何关于制作屏幕截图的可能性的参考。
有人知道这是否可能吗?如果是这样,一个简短的代码示例会很好。
c# - 如何防止 ImageSharp Web 调整为特定大小?
我正在使用 ImageSharp.Web 来调整我的 ASP.NET Core 5.0 网站上的图像大小。
为了防止 DDoS(分布式拒绝服务攻击),我想限制 ImageSharp.Web 也可以调整大小。
例如,我有一个原始大小为 800x400 (100kb) 的图像,我正在使用以下方法调整其大小:
问题是,如果一个邪恶的用户决定使用以下方式请求图像:
如果该用户请求此图像具有“高编号”像素大小(7000,7001,7002...8000} 说 10,000 次,则由于内存耗尽和带宽使用,服务器将变得无响应。
- 如何限制 ImageSharp.Web 不将图像调整为高于其原始大小?
- 如何将 ImageSharp.Web 限制为仅将图像大小调整为 300x300 和 300x600?
我在 ImageSharp.Web ( https://docs.sixlabors.com/articles/imagesharp.web/gettingstarted.html )中没有看到任何可配置的选项。
我的startup.cs:
azure - 为什么我的 ASP.NET Core 应用程序中的图像在我的本地环境中被覆盖,但在我上传到 Azure 时却没有?
在我的 ASP.NET Core 3.1 Web 应用程序中,我允许用户上传存储在应用程序本身的本地目录中的图像。虽然,使用 Azure 上的 blob 存储可以更好地实现这一点,但这个特定项目要求将它们存储在本地,所以我必须使用它:
和
当用户上传图像时,图像的处理由 SixLabors 的 ImageSharp 处理,其中图像被调整几次以供跨平台使用,并保存到由 Id 分隔的相对目录中。
问题
我面临的问题是,虽然当我在本地测试我的应用程序时这个过程有效,但当我将我的应用程序部署到 Azure 并且没有报告任何类型的错误时它不起作用。当我试图弄清楚发生了什么时,这让我感到兴奋和干燥。
假设
由于这个问题的性质和这些图像的位置,我只能假设它是天蓝色的,出于安全原因防止覆盖目录中的图像,或者它可能是 ImageSharp 库本身。
重要的是要注意,当目录不存在时,实际创建产品和添加图像,因此,一个新产品可以完美地工作。只有当你试图覆盖它不起作用的图像时。
这是我的代码,我删除了所有非必要元素,留下了图像处理特定的代码。
编辑视图)
编辑(控制器)
处理图像(流)
如您所见,有一个大小数组,其中定义了我们需要的大小,然后循环处理。我们创建文件名并保存为 jpg。高度设置为 0,以便在定义宽度然后重置流时自动设置它。
Products.cs(模型)
所以,问题仍然存在,为什么我的应用程序在 Azure 中运行后不能覆盖我的图像?是 Azure 安全问题,还是 ImageSharp 库问题之类的简单问题,还是我的应用程序没有正确执行此操作?