繁体   English   中英

通过命令行在asp.net中使用imagemagick

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM