问题标签 [imageprocessor]

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 回答
790 浏览

c# - 模仿这种成像效果

我问这个问题是因为另一个问题已经两岁了,没有准确回答。

我希望在 C#中复制本文中提到的 PhotoShop 效果。Adobe 称之为彩色半色调,我认为它看起来像是某种旋转的 CMYK 半色调。无论哪种方式,我都不知道我会怎么做。

当前代码示例如下。

有任何想法吗?

彩色半色调效果

附言

这不是家庭作业。我正在寻找升级我在我的 OSS 项目ImageProcessor中的漫画书效果。

ImageProcessor 漫画效果

进度更新。

所以这里有一些代码来展示我到目前为止所做的事情......

我可以相当容易且准确地在 CMYK 和 RGB 之间进行转换,以满足我的需要,并且还可以根据一系列点上每个颜色分量的强度打印出一系列带图案的椭圆。

我刚才遇到的问题是旋转每种颜色的图形对象,以便将点放置在代码中指定的角度。谁能给我一些指示如何去做?

输入图像

输入图像

电流输出

正如您所看到的,由于绘制的椭圆不是有角度的颜色输出是不正确的。

电流输出

0 投票
1 回答
1078 浏览

c# - C# 重新着色的图像像素化

我正在尝试从文件系统加载图像,重新着色,然后将其保存到 Stream。有问题的图像是相当简单的单色几何形状。

我有它的工作,但生成的图像沿边缘严重像素化。

我试过 System.Drawing:

我也尝试了 ImageProcessor 库,使用它的 ReplaceColor() 方法,但我得到了相同的结果(虽然没有那么糟糕)。

有什么方法可以做到这一点并保留我原始图像的平滑边缘吗?

0 投票
1 回答
612 浏览

.net - 如何让 ImageProcessor.Web 与 ServiceStack 完美配合

http://imageprocessor.org/imageprocessor-web/

如果我使用提供的web.config它会阻止 servicestack 工作,即使 ServiceStack 很好地放置在 location 下path="api"

我想我会使用另一种缓存方法,但仅供开发人员参考。如果我尝试按照下面path="images"的完整位置将它放在web.config下面,它根本什么都不做:

0 投票
1 回答
1302 浏览

asp.net - HTTP 模块拦截请求并中断自定义错误配置

我有一个 ASP.NET MVC 5 Web 应用程序,它在 IIS 8.5 上本地运行,部署后在 Azure 网站上运行 - 在这两种情况下,稍后将描述的行为是相同的。

我在 web.config 中配置了以下自定义错误页面管理(它涵盖了我所有的自定义错误案例,并且已经过测试并且运行良好):

另外,我在同一个 web.config 中配置了一个 HTTP 模块,如下所示:

我遇到的问题是这样的:如果我向类似的奇怪 URL 发出请求.../c<,应用程序会按照 web.config 文件中的说明执行 500 自定义错误路径。但是,如果我向一个陌生的 URL(模拟 html 标签)发出请求.../<c,虽然结果错误是 500,但自定义错误不再执行,因为根据详细错误,HTTP 模块拦截了调用并“决定”只显示 YSOD ......

我得到的信息是:

从客户端检测到潜在危险的 Request.RawUrl 值 (="/App/

并且很容易看出这是由于stacktrace的webmodule引起的:

[HttpRequestValidationException (0x80004005):从客户端检测到潜在危险的 Request.RawUrl 值 (="/App/d__10.MoveNext() +201 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +144 System.Runtime。 CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) +84 System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar) +98 System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +434 System.Web.HttpApplication.ExecuteStep (IExecutionStep 步骤,Boolean& completedSynchronously)+288

如果我从 web.config 中注释掉图像处理器模块,一切都会按预期运行。

为什么在这种情况下,自定义错误路径不会被执行?

感谢您的时间和回答。

0 投票
0 回答
1372 浏览

c# - 在点网中调整图像大小的内存不足

我在调整图像大小时遇到​​了很多内存不足的问题。起初我确信我只是在泄漏,所以我将我的自定义代码切换为基于https://github.com/JimBobSquarePants/ImageProcessor的东西,并且发生了同样的问题。

所以导致问题的源图像可能是 7137x10096 未压缩,应该是 7137x10096x4 = 288220608 字节或 274Mb。好吧,那是“大”,但为什么它大得令人不安?运行 IISExpress(32 位)会导致内存不足。在 Azure 上运行 3.5GB 的 64 位服务器,它根本不可靠。

错误是“System.Drawing.dll 中出现‘System.OutOfMemoryException’类型的异常,但未在用户代码中处理”

基于 ImageProcessor 的代码在 imageFactory.Load 语句上抛出

在最简单的测试用例中,我用

我可以:

1)尝试不同的技术

2) 升级我的 Azure 服务器以获得更多内存(不确定是否有帮助)

3) 尝试通过第三方服务调整大小,例如http://www.blitline.com/,它具有一些 Azure 特定的集成。

任何理解为什么无法在 Systen.Drawing 中处理这种大小的图像将不胜感激。

0 投票
5 回答
11963 浏览

c# - 基于密钥的异步锁定

我试图找出我的 ImageProcessor 库在此处向缓存添加项目时出现间歇性文件访问错误的问题。

System.IO.IOException:该进程无法访问文件“D:\home\site\wwwroot\app_data\cache\0\6\5\f\2\7\065f27fc2c8e843443d210a1e84d1ea28bbab6c4.webp”,因为它正被另一个进程使用.

我编写了一个类,旨在根据散列 url 生成的密钥执行异步锁定,但似乎我在实现中遗漏了一些东西。

我的锁定课

用法 - 在 HttpModule 中

谁能发现我哪里出错了?我担心我误解了一些基本的东西。

该库的完整源代码存储在此处的 Github 上

0 投票
1 回答
2698 浏览

c# - ImageProcessor 似乎在调整大小后将图像旋转 90 度

我使用 nuget for c# 下载了 ImageProcessor 库。我正在使用它为网站上传和调整图像大小。上传过程工作正常,但当我尝试查看上传的图像时,它会从原始图像向后旋转 90 度。这是我正在使用的代码:

0 投票
1 回答
120 浏览

asp.net-mvc - ImageProcessor 请求使未来的列表绑定失败

我正在努力解决我的网站的一个问题,如果我使用 向图像发出请求ImageProcessor.Web,它会阻止一些未来的List<>绑定请求工作。

我不确定这是一个错误,还是配置问题,但我一直在努力追根究底。

我已经将我的整个网站剥离回一个解决方案,只是为了演示这个绑定问题。

我在 S3 中的以下地址找到了测试应用程序: https ://s3.amazonaws.com/bindingissue/BindingIssue.zip

如果您打开应用程序,运行网站项目并导航到https://localhost:44300/,它会显示以下表单:

初始形式

如果提交表单,会看到页面提示文本框内的值已经绑定,提交的值出现在表单中。

绑定成功

表单元素的名称是FilledInValues[0],它将值绑定到控制器操作中的一个变量,该变量FilledInValues的类型为List<string>

这是绑定到的模型:

现在,当您单击该链接时,它会将您带到新选项卡中的以下 URL:

https://localhost:44300/content/images/smileyface.png?width=260&height=100&mode=stretch&bgcolor=FFFFFF

这会从 S3 存储桶加载图像,图像处理器会根据查询字符串中指定的值调整图像大小。应该显示图像,它是一个笑脸:)。

现在,当您返回表单时,刷新页面并再次提交表单。它将表明您提交的值没有正确绑定。虽然以前是这样!

绑定失败

如果你Home在action的控制器上设置断点Index,你可以观察到值绑定失败。

现在,它将继续无法绑定此值,直到您重新启动应用程序池(如果应用程序托管在 IIS 上)或在 Visual Studio 中重新启动应用程序。

表单没有更改,值仍在发布中,因为我可以在 Chrome 开发人员工具选项卡中看到,并且您可以在提交表单后看到已Network在控制器值中格式化的查询字符串值。this.Request.Form

请您帮我确定为什么绑定之前有效,然后在加载通过图像处理器加载的图像后失败?

0 投票
0 回答
130 浏览

c# - 调整晕影效果的扩散

我正在使用以下代码在图像上产生晕影效果。正如您在下面看到的,它工作得很好。我希望能够调整小插图的内部传播(即使中间更亮并缩短渐变)但是数学让我变得更好。任何人都可以给我一些解释的指示吗?

原始图像 原始图像

晕影效果 在此处输入图像描述

0 投票
3 回答
713 浏览

c# - 将调整大小算法拆分为两遍

我编写了以下调整大小算法,可以正确地放大或缩小图像。由于每个循环上的权重数组的内部迭代,它太慢了。

我相当肯定我应该能够将算法分成两遍,就像使用两遍高斯模糊一样,这将大大降低操作复杂性并提高性能。不幸的是,我无法让它工作。有人能帮忙吗?

权重和指数计算如下。每个维度一个:

每个 IResampler 根据给定的索引提供适当的一系列权重。双三次重采样器的工作原理如下。

这是通过现有算法调整大小的图像的示例。输出是正确的(注意保留了银色光泽)。

原始图像

原始未缩放图像

使用双三次重采样器将图像大小减半。

图像大小减半

该代码是我正在编写的一个更大的库的一部分,用于将图像处理添加到 corefx。