Categoryイラスト

HTML5についてのお勉強~canvas応用編~

さて、先日の日記にてかなり初歩的な実演を交え
HTML5とcanvasについて少し説明しました。
今回は少し応用してみたいと思います。

canvasには画像を貼りつけることが出来ましたが、
実は貼り付ける画像を加工することも出来るのです。
元の画像の任意の座標から任意のサイズを切り取り、
それをcanvasの任意の座標へ任意のサイズで貼り付けることが出来ます。
drawImage() メソッド – Canvasリファレンス – HTML5.JP

つまり、ある画像の一部を既にcanvasに貼り付けている別の画像に貼り付けたりすることが出来ます。
そこでもうそろそろめんどいので今日の成果物に行っちゃいますよー。(^∀^)

※注意※
今回はガチでIEさんが残念なことになります。(8.0以下の場合)
所詮canvasをネイティブ対応していないとごらんの有様だよ!!
いろいろがんばりましたがどうにもなりませんでした…。
かろうじて上手くいく場合もありますが、大事なエフェクトが発生しないため正直微妙です。
出来ればFirefoxやChromeやOperaやSafariで見て頂きたい内容です。

▼マウスでcanvas上をクリック&ドラッグしてください

ネタ的にはいわゆる妄撮というやつなのですが、
これが自分の手で自由に出来たらとってもステキじゃあないでしょうか。
そう思って作りました。
このスクリプトで少しでも多くの人が幸せになれたらなって、思います。(^∀^三^∀^)

一応簡単な解説をば。
nikki

元画像をまずcanvasに貼り付けます。
そして、マウスの座標と同じ座標から、一定の領域を抜き出し、それをcanvas上に貼り付けます。
これを繰り返すことで、マウスの通り道で差分画像が現れていくように見えるというわけです。

更に、差分画像を貼り付けた周囲に、紙の地のような画像を散らすことで、
紙が破れたような効果を出すことが出来ます。これで妄撮っぽさが出ると言うわけです。
ちなみに、既に差分画像を貼り付けた領域には紙画像は貼らないようにしなくてはならないのですが、
これはある関数で簡単にチェック出来るので、それほど難しいことは不要でした。
(IEが残念なことになっているのは、このチェックに使う関数が
ExplorerCanvasでは実装されていないことが主因です。)

妄撮は上の画像を破いて下の画像を露にするというイメージですが、
この実装方法はまったく考え方が逆で、破られた方の画像を上から塗りつぶしています。

canvasの背景画像に差分画像を設定して、
貼り付けた元画像を消していく方式でも見た目は同じになるのですが、
それだとcanvasを右クリック保存した時に消した部分が透明になってしまいますので、
やはりcanvas上でやってしまう方がよかったようです。

さて今回も配布用サンプルを用意しました。
一応設置用readmeも付いてますので、是非いろいろと破いてみてください。

さあ、破いてごらん (^∀^)っサンプル

しゅうまいもぐもぐ。

nikki

以前から別鯖でお世話になっているギルドなのですが、
先日(というか2倍期間)にとても久々に顔を出しまして、
せっかくなので2次職くらいにはなっておくべきかと思って
Lv上げてきました!!(^∀^三^∀^)
手伝ってくれたみんなありがとう!!

nikki

立派な鍛冶屋になります!(^∀^)

nikki

ということで、同じキャラですがBSになってきました。
BS転職がアインブロックに移ってから初めてのクエストでした…。(゚ω゚)
内容一緒ですけどなんというか場所が場所だけにめんどいですね!!

イラスト

そういえばBSってあまり描かないですね!
WSさんは割りと色々描いてる気がするんですけどね…!!

てことで、某ギルドに遊びに行く時は鍛冶屋でがんばろうと思います。
とりあえず斧を手に入れなくては。

(・ω・)<数字一つ守れねえ奴に、一体何が守れるって言うんだよ!

昨日1月9日はむぎやのねぎさんのお誕生日ということで
ついったーなどではじぷこちゃん祭りなどが催されていたわけなのです。
で、一日遅れてしまいましたがわたくしめもお祝い絵などを!!

イラスト

ねぎさんお誕生日おめでとうございます!(^∀^)
あっポリンディフェンスの件はご本人の日記でそうなってたので
ついやっちゃいました。やっちゃったぜ☆
しかしホワイトスミスさんは描いてて楽しいですね!(^∀^三^∀^)

3日ぶりに家に帰ってきて見てみればどういうことなの・・・
しましませんせあたまいい!わるくない!ありがとうございました
これを見るとソーサラーを育てたくなりますね!

是非育てましょう。ソーサラーさんの薄布は宝です。

携帯から見たら、100%と0%が横に並んで表示されたよなんでだろう!

そういえば携帯のことをまったく考えてませんでした。(゚ω゚)
だいたいの携帯はCSSとかJavascriptがちゃんと効かなかったりするので
そういうことになってしまいますね…。

>袖ですね!
そう、袖が透けない事にEROスが。よく分かっていらっしゃる!(^ω^)
にごり湯ですけすけもいいですね!
八雲家でゆったり湯けむりなんてステキ!(゚ω゚)

ステキですね!湯煙の濃度調整とか…胸が熱くなりますね…。

3女さんの大吉のお陰でムナたんから服が出ましたよ!
アドベンチャースーツですが、何か?

やはりそういうことか…。(n゚ω゚`)