Cfimage信息很慢

时间:2016-02-29 15:57:59

标签: coldfusion coldfusion-9 cfimage

我在coldfusion 9中有以下脚本:

<cfimage action="info" source="E:\....\image.png" structname="local.imageInfo">

图像位于本地驱动器上。此操作大约需要4秒钟。文件大小约为800kb(300 dpi,png)。这对我来说似乎不正常。有没有办法加快速度呢?我只需要图像的高度和高度。

Btw立即对图像执行简单的读取操作

<cffile action="read" FILE="E:\....\image.png" VARIABLE="local.imageread">

1 个答案:

答案 0 :(得分:1)

如果您使用的是Windows和ColdFusion 8+,请考虑使用免费的便携式命令行程序Exiv2和GraphicsMagic。 Exiv2可以使用命令行读/写EXIF数据,并且比内置CF函数更快。

http://www.exiv2.org/

GraphicsMagick在转换,调整大小,裁剪,旋转,生成缩略图方面要快得多,在读取CMYK图像时不会抛出错误等。

http://www.graphicsmagick.org/

我已经将ColdFusion 8-2016 +自定义标签编写为便携式命令行程序的包装。

http://gamesover2600.tumblr.com/post/139435793234/coldfusion-udf-for-exiv2-faster-exif-image

<CFSET ImageFilePath = "c:\test.jpg">
<CFDUMP VAR="#Exiv2(imageFilePath)#">

http://gamesover2600.tumblr.com/post/125766251344/graphicsmagick-coldfusion-custom-tag

<CFSET ImageIn = "c:\test.jpg">
<!--- Identify - Get basic info (Exiv2 is better/faster) --->
<CF_GraphicsMagick action="Identify" infile="#ImageIn#" result="GM_Identify">
<CFDUMP VAR="#GM_Identify#" label="GM_Identify">

<!--- Optimize (common settings to reduce filesize) --->
<CF_GraphicsMagick action="Optimize" infile="#ImageIn#" outfile="#replace(ImageIn,'.jpg','_optimize.jpg')#" result="GM_Optimize">

<!--- ResizeWidth (Resize to defined width --->
<CF_GraphicsMagick action="ResizeWidth" infile="#ImageIn#" width="200" outfile="#replace(ImageIn,'.jpg','_resizeWidth.jpg')#" result="GM_ResizeWidth">

<!--- AspectCrop (Similar to ImageUtils.cfc) --->
<CF_GraphicsMagick action="AspectCrop" Infile="#ImageIn#" outfile="#replace(ImageIn,'.jpg','_aspectCrop.jpg')#" width="100" height="100" quality="90" result="aspectCrop">