Информация о кадре очень медленная

У меня есть следующий скрипт в Coldfusion 9:

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

Образ находится на локальном диске. Это действие занимает около 4 секунд. Размер файла составляет около 800 КБ (300 точек на дюйм, PNG). Это кажется ненормальным для меня. Есть ли способ ускорить это? Мне нужно только с и высота изображения.

Кстати, простое действие чтения изображения выполняется мгновенно

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

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">
Другие вопросы по тегам