当前位置: 首页 > 编程语言 > C#

C#学习教程:.NET中最快的图像大小调整共享

时间:2023-04-10 14:24:20 C#

.NET中最快的图像大小调整我需要最快的库来将全尺寸图像(某些尺寸高达9MB)调整为多种尺寸。场景如下:如果库是C/C++或其他任何库,我不会感到困惑,只要我可以通过.NET进入它就很酷。此外,它需要扩展到大约1,000个活跃用户。让我知道您的想法:)有很多文章介绍了这方面的基础知识。我使用过Atalasoft的组件,发现它们的质量非常好。调整大小和处理JPEG图像有一些细微差别。您似乎真的很关心性能,但您并没有真正提供足够的信息来帮助我们为您提供良好的优化。不管你在做什么,你都需要做一个彻底的分析,慢慢地了解发生了什么。在某些情况下,如果优化其他内容,可以实现缓慢但可维护的图像处理代码。获得良好性能的一种解决方案是将需要转换的传入文件排队。添加更多机器以处理队列中的更多消息,或优化服务代码以获得更好的吞吐量。如果设计得当,处理大量用户真的不难。这是winforms方式publicImageResizeImage(Imageimg,intwidth,intheight){Bitmapb=newBitmap(width,height);使用(Graphicsg=Graphics.FromImage((Image)b)){g.DrawImage(img,0,0,width,height);}返回(图片)b;}这里是我推荐ImageResizer的WPF方式TransformedBitmap类:主要特点是:使用Nuget安装:PM>Install-PackageImageResizer.MvcWebConfigPM>Install-PackageImageResizer.Plugins.DiskCachePM>Install-PackageImageResizer.Plugins.PrettyGifs如需更多信息,请访问:http://imageresizing.net/docs/install/nuget如果钱不是问题,LeadTools是传统的“首选”图像处理库。也就是说,我的第一个倾向是使用常用的.NETGDI+调用进行编码,然后进行一些测试。该解决方案可能性能足够,但如果不够,您将有一个基准,您可以根据该基准比较其他库和解决方案。任何涉及生成命令行工具的事情都需要为每个图像创建一个单独的进程,这可能会抵消使用非托管代码的好处。我不确定性能,但开源OpenCV是一个选项。voidcvResize(constCvArr*I,CvArr*J,intinterpolation=CV_INTER_LINEAR);函数cvResize调整图像I的大小,使其完全适合J。如果设置了ROI,该函数将照常考虑ROI。UseasourceimagethatspecifiedastructuringelementBwhichdeterminetheshapeofpixelneighborhoodthatpixelneighborhoodthatpixelneighborhoodthatpixelneighborhoodthatpixelneighborhoodthattakingtheminimumvalue:而我需要了解更多关于C#的学习教程,希望大家多多关注——本文摘自互联网,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: