2011-11-10 2 views
1

나는 주어진 폴더에있는 모든 이미지의 크기를 조정해야하는 기능이 (내가 얼마나 정확히 모르겠어요,하지만 난 2500 추측)과 diffrent 폴더에 저장합니다비례 이미지 ColdFusion에서의 크기를 조정 9

<CFSET base = expandpath("./images") /> 
<CFSET folders = listtoarray("folder1,folder2") /> 
<CFLOOP array="#folders#" index="folder"> 
    <CFDIRECTORY name="qImages" directory="#base#/#folder#/big/" action="list" listinfo="name" type="file" filter="*.jpg" /> 
    <CFLOOP query="qBilder"> 
    <CFIMAGE action="resize" height="" width="320" source="#base#/#folder#/big/#name#" destination="#base#/#folder#/#name#" overwrite="yes" /> 
    </CFLOOP> 
</CFLOOP> 

내가하는 것보다 더 효율적으로하는 방법을 궁금해하니?! 나는 CF에서 그것들이 17 different algorithms for resizing images 인 것을 읽었다. 어떤 이미지 품질과 속도의 좋은 혼합과 함께 가장 performant 한 것입니까?

+0

이것은 더 자주 실행되는 일회성 절차입니까? – Antony

+0

그냥 한 번 실행 ..하지만 무거운 CPU 부하 – Seybsen

+0

한 번 - 취소 작업에 대해 정직하게 coldfusion 할 wouldnt에 대해 30mins했다 - 내가 서버/파일에 대한 다른 액세스가 없다면 – Antony

답변

1

먼저 imageResize()의 성능을 테스트 할 수 있습니다. jan이 말했듯이 "보간 파라미터"를 사용하여 품질과 속도를 얻으십시오. 너무 느리거나 너무 추한 것으로 판명되면 ImageMagik

1

이미지는 < = 100x100 픽셀이고 나머지는 "highestQuality"또는 "lanczos"인 경우 보간을 "highestPerformance"로 설정하십시오. .jpg를 만들면 기본 품질은 0.75로 75 %를 의미합니다. 작은 이미지의 경우이 값을 0.5 이하로 줄이면 빠른 저품질 이미지를 얻을 수 있습니다.

비례 크기 조정을 원할 경우 imageResize()에 너비 또는 높이를 지정하십시오. 둘 다 지정할 수는 없습니다.

http://cfquickdocs.com/cf9/#imageresize

관련 문제