IE10でのパスによる不具合

a0003_001808_m

少し詰まったところに関してのメモ。

ぶっちゃけIE10は大体予想通りの不具合しか出ないからそんな苦労したことは今までなかった。
「ああ、IE特有のあれね」とか「あ、これIE10だとこうなるのね」とか。

ただ、今回初めてIE10でマジで詰まった。本気で。
それは、canvasのclearRect()。canvasのメソッドについては説明すると長くなるから、リファレンスのリンクだけどうぞ

clip()をしたらclearRect()が働かない

どうやら、clip()をしたら、clearRectがうまく働かないみたい。
しかもIE9、IE11では働くのに、IE10だけが働かないバグ。いやらしっ。

調べたらこんなページを見つけた
https://connect.microsoft.com/IE/feedback/details/772169/canvas-clearrect-fails-if-clip-rectangle-has-non-integer
要するに、
A「clearRect()効いてないんだけど、これどういうこと。どうすればいい。(例を見せながら)」
Microsoft「わお、本当だ!ありがとう!ただIE10はもう対処できないから、次(つまりIE11)でこれ直しとくね!」
ってこと。おいこら。日本のIE率見てから言ってくれ。

まあ、つまり、対処法は・・・ないんだよね・・・・。
だから、clearRect()させたいなら、clip()の部分をmsie10で分岐させてからclearRect()させよう。
(あくまでclip()後のclearRect()が効かないってだけで、clip()後のdrawImage()とかは効く。)

では。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。名前及びコメントは必須項目、メールアドレス及びサイトURLは任意です。