2017-02-08 4 views
-2

thisのマップを同じ形や色で、少し変形してグラフィックスを描いて描きたいだけです。このようなマップ画像をJavascriptやHTML5グラフィックスに変換したいですか?

+0

[OK]を...あなたがタグ付けされてきたがあなたの仕事を達成するための2つの良いAPI。あなたは複数の画像を持っています(シンプル)。接続線には二次曲線を使うことができます。キャンバスとSVGの両方でQ-Curveコネクタを使用できます。 – markE

+0

@Keith私は知らないどのようにキャンバスで正確な地図を描画し、それにポイントとラインを描く:( –

答えて

4

非常に簡単です!

だけdrawImage()例えばmoveTo()lineTo()を使用します(私の隣人は、ボブは推奨していません!)キャンバスの文脈に - ライブラリのための必要性:

var ctx = c.getContext("2d"); 
 
var img = new Image; 
 
img.onload = yeehaw; 
 
img.src = "https://i.stack.imgur.com/cnNd6.jpg"; 
 

 
function yeehaw() { 
 

 
    var r = Math.random; 
 
    
 
    // apply some transformation 
 
    ctx.setTransform(r() * 1.5 + 1, r(), r(), r() * 1.5 + 1, -r() * 50, -r() * 50); 
 
    
 
    // draw image 
 
    ctx.drawImage(this, 0, 0, c.width>>1, c.height>>1); 
 
    
 
    // add a little graphics 
 
    for(var i = 0; i < 50; i++) { 
 
    ctx.setTransform(r() * 1.5 + 1, r(), r(), r() * 1.5 + 1, -r() * 50, -r() * 50); 
 
    ctx.moveTo(0, 0); ctx.lineTo(c.width, c.height); 
 
    } 
 
    ctx.strokeStyle = "#f0f"; 
 
    ctx.stroke(); 
 
    
 
    // DONE! 
 
                           var img = new Image; 
 
                           img.onload = function() {ctx.setTransform(1,0,0,1,0,0);ctx.drawImage(this, 50,0);document.querySelector("audio").play()}; 
 
                            setTimeout(function(){img.src = "//i.stack.imgur.com/W9BHW.png"}, 1500); 
 
}
<canvas id=c width=600 height=200></canvas>             <audio src="http://soundbible.com/mp3/Blop-Mark_DiAngelo-79054334.mp3" preload=auto>

+1

それは私を笑わせてくれた..それを期待していなかった.. :) – Keith

関連する問題