2017-02-26 7 views
0
createImage = (x=0, y=0) => { 
    imgC.save() 

    imgC.beginPath() 
    imgC.moveTo(side/2, center) 
    imgC.lineTo(side, 0) 
    imgC.lineTo(0, 0) 
    imgC.closePath(); 

    imgC.clip() 

    imgC.drawImage(image, x, y) 
    imgC.restore() 
} 

私はこのようなマスク画像を描いています。私はdrawImageのx/y座標を何も変更せずに更新したいと思います。これどうやってするの?切り抜き画像を変更する?

+0

私はそれを取得しません。とにかく 'drawImage'では' x'と 'y'だけが使われています。これらの変数を変更するとどうなりますか? –

+0

画像の位置を他のイベントにマップしたい(カーソルの移動や携帯電話の傾きなど) – Himmators

+1

@Himmatorsが正しく、X、Y引数を変更しても残りの式には影響しません。 – punkbit

答えて

0

残っている式に影響を与えずに渡されたX、Y引数を変更できると思うので、あなたがしたいことはわかりません。

しかし、いくつかの仮定は未テストのコードなので、私が共有している可能性を理解するために疑似コードを仮定します。

createImage = (img, x=0, y=0) => { 
    img.save() 

    img.beginPath() 
    img.moveTo(side/2, center) 
    img.lineTo(side, 0) 
    img.lineTo(0, 0) 
    img.closePath(); 

    img.clip() 

    img.drawImage(image, x, y) 
    img.restore() 
    return img 
} 

次に、あなたは次のように使用することができます:あなたはXを更新し、3秒後に

var myImage = createImage(imgC, 100, 50) 

、Y

setTimeout(() => { 
    myImage.x = 150 
    myImage.y = 300 
}, 3000) 

役に立てば幸い!

関連する問題