IT用語辞典バイナリ | さくいん | サイトマップ | ヘルプ | お気に入りに追加  
HTML5 JavaScript API
IT用語辞典バイナリ<パソコン用語・コンピュータ辞書>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
コンピュータ偉人伝<人物・画像・写真・プログラミング>
拡張子辞典<ファイル・変換・変更・表示>
HTML5タグリファレンス
CSS3リファレンス
HTML5 JavaScript API
エクセル関数リファレンス
ITパスポート試験
 
  
  IT用語辞典バイナリ > HTML5 JavaScript API > Canvasの使い方 > 図形の重なり具合を指定するには?
  カテゴリ別さくいん

図形の重なり具合を指定するには?

図形の重なり具合を指定するには

解説

Canvasでは、2つ以上の図形が重なったときの、透明度や論理的な合成の方法を指定することができます。

【透明度】
globalAlphaプロパティを使うと、以降に描画する図形の透明度を指定することができます。
値には0~1までの数値を指定します。0が完全な透明、1が不透明です。
以下の例では、透明度を0.5にして赤い四角形と青い四角形を重ね合わせています。

context.globalAlpha = 0.5;
context.fillStyle = "red";
context.fillRect(20,20,80,60);
context.fillStyle = "blue";
context.fillRect(40,40,80,60);

32.png

なお透明度は、fillStyleプロパティやstrokeStyleプロパティにrgba形式で値を代入することでも指定できます。詳しくは、「線や塗りつぶしの色を指定するには?」を参照してください。

【合成方法の指定】
globalCompositeOperationプロパティを使うと、以降に描画する図形の合成方法(オペレーション)を指定することができます。
値としては次のいずれかの文字列を指定します。

"source-atop"下地の画像の透明でない部分にのみ、新しい画像を描画します
"source-in"下地の画像と重なった部分にのみ、新しい画像を描画します
"source-out"下地の画像と重ならなかった部分にのみ、新しい画像を描画します
"source-over"下地の画像に重ねて新しい画像を描画します(既定値
"destination-atop"新しい画像の透明でない部分のみ、下地の画像が残ります
"destination-in"新しい画像と重なった部分のみ、下地の画像が残ります
"destination-out"新しい画像と重ならなかった部分のみ、下地の画像が残ります
"destination-over"下地の画像の裏に新しい画像を描画します
"lighter"下地の画像と新しい画像が重なった部分は、色が加算されて(明るく)描画されます
"copy"下地の画像は透明になり、新しい画像のみが描画されます
"xor"下地の画像と新しい画像が重なった部分は、透明になります

以下に、各合成方法の例を示します。 なお、同じCanvas上に描画すると、それまで描画した画像を消去してしまう合成方法もあるため、id値として"fig0"~"fig10"を持つ、11個のcanvas要素にそれぞれ描画しています。

// オペレーションの定義
var oprations = new Array(
    "source-atop",
    "source-in",
    "source-out",
    "source-over",
    "destination-atop",
    "destination-in",
    "destination-out",
    "destination-over",
    "lighter",
    "copy",
    "xor"
);

// 描画
for(var i=0; i<oprations.length; i++) {
     var canvas = document.getElementById("fig"+i);
    if (canvas.getContext) {
        var ctx = canvas.getContext('2d');
        
        ctx.fillStyle = "red";
        ctx.fillRect(10,10,25,20);
        ctx.globalCompositeOperation = oprations[i];
        ctx.fillStyle = "blue";
        ctx.fillRect(20,20,25,20);
        
        // 枠線
        ctx.globalCompositeOperation = "source-over";
        ctx.strokeRect(10,10,25,20);
        ctx.strokeRect(20,20,25,20);
    }
}

32c.png

元の画像と新しい画像の位置がわかるように枠線を描いていますが、その前に既定値の"source-over"を指定していることに注意してください。

関連項目

Canvasとは
線や塗りつぶしの色を指定するには?




iPhone 8iPhone 8
Appleが2017年9月に発表した4.7インチ画面のスマートフォン。
iPhone XiPhone X
Appleが発表したスマートフォン。
Galaxy Note 8Galaxy Note 8
サムスン電子が発表したスマートフォン。

 ・ITパスポート試験とは
 ・試験範囲と内容
 ・サンプル問題にチャレンジ

 ・Windowsの歴史
ジョン・マッカーシー LISPの開発者
ジョン・マッカーシー
人工知能の研究分野における第一人者。
スティーブ・ジョブズ Appleの共同創設者
スティーブ・ジョブズ
「Mac」や「iPhone」を生み出した経営者。
デニス・リッチー C言語、UNIXの開発者
デニス・リッチー
C言語の設計、UNIXの開発に携わった人物。
».m4b MPEG-4オーディオファイルの拡張子。 up!
».m4r iPhoneの着メロにするAACファイルにつく拡張子。 up!
».xlsx Excel 2007で作成したファイルのデフォルトの拡張子。
».docx Word 2007の標準的な保存形式。XML形式となっている。

2017年9月25日現在
ランキング1   ICT (用語辞典)
ランキング2   NMS (用語辞典)
ランキング3   コンテキスト  (用語辞典)
ランキング4   スワイプ  (用語辞典)
ランキング5   セグメント  (用語辞典)
ランキング6   デプロイ  (用語辞典)
ランキング7   リグレッションテスト  (用語辞典)
ランキング8   ベリファイ  (用語辞典)
ランキング9   リバースエンジニアリング  (用語辞典)
ランキング10   ネイティブアプリ  (用語辞典)
RSS 0.91 RSS 1.0 RSS 2.0
IT用語辞典バイナリについてウェブリオ株式会社についてお問い合わせ先テクニカルライター募集利用規約
プライバシーポリシー著作権・商標について協力社一覧Weblio 辞書スマート翻訳英和辞典 - Weblio辞書Weblio英会話
©2012 Weblio, Inc. All rights reserved.