1

我有多个相互叠加的 IMG(位置:绝对;上:0;左:0;),我需要将所有这些层保存为一个实体图像。我怎样才能做到这一点?客户端的后端是 Coldfusion。

多谢你们!

4

2 回答 2

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">

(未经测试编写,但看起来不错)

于 2012-11-08T01:20:25.647 回答
2

如果要使用 JavaScript,则需要使用画布。

如果要在后端进行,则需要使用一些图像库,例如imagecfc

于 2012-11-08T00:50:31.847 回答