我有多个IMG分层叠在一起(位置:绝对;顶部:0;左:0;),我需要将所有这些图层保存为一个实体图像。我怎样才能做到这一点?客户的后端是Coldfusion。
谢谢,伙计们!
答案 0 :(得分: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">
(未经测试而写,但看起来正确)
答案 1 :(得分:2)
如果要使用JavaScript,则需要使用画布。
如果要在后端执行此操作,则需要使用某些图像库,例如imagecfc