[英]imagemagick in asp.net via command line
我在ASP.NET网站项目中使用Imagemagick,使用System.Diagnostics.Process通过imagemagick的命令行界面生成拇指
当用户访问站点时,将从数据库中获取20个媒体项,并为每个媒体项生成一个缩略图,如下所示:
var thumb = media.GetThumb(100, 100);
这会启动一个进程,该进程使用imagemagick的“ convert”命令
但是,性能可能会更好。
我知道,缓存拇指是个不错的选择,而这正是我要做的。
但是,我怀疑,为每个未缓存的图像启动一个新的进程非常昂贵。 有没有更好的办法,例如“重用”进程或将imagemagick保留在内存中并访问该实例,还是没有?
尝试ImageMagick.NET
,
可能是最强大的图像处理API的.NET包装器,
ImageMagick
尽管仍处于Alpha状态,但它(或更早的版本)可能会提供您所需的功能。 对源代码进行非常简短的了解后发现其功能很少,但这可能只是一个开始。
由于生成缩略图所需的时间不太长,我现在仅使用缓存解决方案。 此外,我不想增加项目的复杂性-使其尽可能地简单。
但是对于将来的项目,我试图评估是否可以在Application_Start事件中启动后台线程,该事件会在数据库中查询10张图像,生成其缩略图并继续显示下10张图像,直到没有其他没有缩略图的图像为止。 这似乎是可行的方法,尽管我尚未在生产中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.