2012-11-08 4 views
1

여러 IMG가 서로 겹쳐져 있습니다 (위치 : 절대, 상단 : 0, 왼쪽 : 0). 모든 레이어를 단색 이미지로 저장해야합니다. 어떻게해야합니까? 클라이언트의 백엔드는 Coldfusion입니다.하나의 이미지로 서로 겹쳐서 여러 IMG를 어떻게 저장할 수 있습니까?

감사합니다.

+2

이 같은 순서로 캔버스에 쓰기 한 다음 캔버스에서 이미지를 잡아 (테스트없이 작성하지만, 잘 보인다). –

답변

2

자바 스크립트로 캔버스를 사용하려면 캔버스를 사용해야합니다.

당신은 백 엔드에 그것을하기 위하여려고하는 경우에, 당신은 어떤 이미지 라이브러리 등 imagecfc

와 함께 할 필요가있을 것이다
+0

필자는 클라이언트에서 여러 이미지를 레이어 화하지 않고 백엔드에 단일 파일을 만드는 것이 필요하다고 생각합니다. –

+0

imagecfc가 필요 없습니다 - CF8 이후에는 [cfimage] (http://cfdocs.org/cfimage) 태그와 [이미지 관련 기능]이 많이 있습니다 (http://cfdocs.org/image-functions). 빌리가 방금 추가 한 대답에 대한 자세한 내용을 볼 수 있습니다. –

+0

@BillyCravens 세부 사항이 부족한 질문에 많은 도움이됩니다. :) – epascarello

4

투명 PNG/GIF가 여러 개 있다고 가정하면 매우 쉽습니다 (필자는 미국지도에서 색칠하기로했습니다). 주로 이미지 객체와 함께 imageCopy() 및 imagePaste()를 사용합니다.

<!--- below assumes 600x400 images ---> 
<cfquery name="election"> 
    select state from electionResults where winner='Obama' 
</cfquery> 

<cfimage source='#expandPath('/imgs/us.png')#" name="usMap"> 

<cfloop query="election"> 
    <cfimage source="#expandPath('/imgs/#state#-blue.png')#" name="state"> 
    <cfset img = imageCopy(state, 1,1,600,400)> 
    <cfset imagePaste(usMap,img,1,1)> 

</cfloop> 

<cfimage action="write" source="#usMap#" destination="#expandPath('/imgs/us-obama.png')#" 
    overwrite="yes"> 

<img src="/imgs/us-obama.png"> 

관련 문제