2016-06-22 7 views
0
私は正常に生地のキャンバスに背景画像を設定するために行っている


私のコード今私は、背景画像の角度を設定するには、問題に直面して
ファブリックJS

canvas.setBackgroundImage(imageSource, canvas.renderAll.bind(canvas), { 
        // Fixed object misplacing issue. 
        top: obj.top, // object top 
        left: obj.left, // object left 
        width: obj.width * obj.scaleX, 
        height: obj.height * obj.scaleY, 
        name:'back-img', 
        //angle:angles, 
        srno:"", // removed serial number of background image. becouse serial number is undefined 
        }); 


それはcanvas.setBackgroundImageを終了する前に実行してしまったので、単一のラインコード上の
canvas.backgroundImage.setAngle(angle) 


が機能していません。私の理解canvas.setBackgroundImage()
はので、私はcanvas.setBackgroundImage()

ノートへのコールバックを書きたいの同期機能である:私のイメージの位置は見当違いだので、-iはcanvas.setBackgroundImage()内の角度プロパティを定義する必要はありません。

任意のヘルプや提案が
を高く評価され、次の(CBでrenderAll後に「.bind」を必要としない)私のために働いたお時間を

答えて

0

ありがとう:

function setBackgroundImageCB(angle, canvas) { 
    canvas.backgroundImage.setAngle(angle); 
    canvas.renderAll(canvas); 
} 

ドゥ必要「.bind」ここ

canvas.setBackgroundImage(imageSource, setBackgroundImageCB.bind(this, angle,canvas), { 
       // Fixed object misplacing issue. 
       top: obj.top, // object top 
       left: obj.left, // object left 
       width: obj.width * obj.scaleX, 
       height: obj.height * obj.scaleY, 
       name:'back-img', 
       //angle:angles, 
       srno:"", // removed serial number of background image. because serial number is undefined 
       }); 

はい、setBackgroundImage関数内2番目のパラメータは、コールバックですが、「.bind」せず、それが元でした直ちにエコーティングする。 setBackgroundImageが実行するのを待っていませんでした。

+0

2番目のparamは、バックグラウンドイメージを設定する前に実行されるコールバックです。これは機能しません。 –

+0

いいえバックグラウンドイメージを設定した後、通常は外部関数が完了した後にコールバックが実行されます。エラーが発生した場合は開発者コンソールにチェックインしてください。 –

+0

なぜcanvas.setbackgroundImage.setAngle(45)が機能しないのですか、まだ背景画像がキャンバスに設定されていないため、私はこの問題を別の方法で解決しました。あなたのヘルフのためのthaks –

関連する問題