複数のIMGを重ねて(position:absolute; top:0; left:0;)、それらすべてのレイヤーを1つのソリッドイメージとして保存する必要があります。これどうやってするの?クライアントのバックエンドはColdfusionです。
みんなありがとう!
複数のIMGを重ねて(position:absolute; top:0; left:0;)、それらすべてのレイヤーを1つのソリッドイメージとして保存する必要があります。これどうやってするの?クライアントのバックエンドはColdfusionです。
みんなありがとう!
複数の透明な 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">
(テストなしで書かれていますが、正しく見えます)
JavaScript を使用する場合は、canvas を使用する必要があります。
バックエンドで実行する場合は、imagecfcなどの画像ライブラリで実行する必要があります。