A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
できません。
スライドの投影なら可能ですが、ディスプレイでは無理なのです。
三原色には光の三原色(加法混合)と色の三原色(減色混合)があります。
光の三原色で考えると
R : rgb(255, 0, 0)
G : rgb( 0,255, 0)
B : rgb( 0, 0,255)
ここで、RとGを合わせると
R : rgb(255, 0, 0)
+)G : rgb( 0,255, 0)
 ̄ ̄Y : rgb(255,255, 0) ̄ ̄
と黄色ができます。
が、opacity0.3で加算すると
R : rgb( 86, 0, 0)
+)G : rgb( 0, 86, 0)
 ̄ ̄Y : rgb( 86, 86, 0) ̄ ̄
と、なってしまいます。
減色混合でも同様で・・重ねて元の色を復元するのは無理なのです。
ほかにも、あくまでディスプレイの画素数と実際の画素数は異なるとか・・
私がここ( ( http://iruka.la.coocan.jp/old/science/light/ligh … ) で行った方法は、黒白のネガフィルムを作成してそれを赤と白色の光源で投影したものですが、これをディスプレイ上ではできないということ。
No.1
- 回答日時:
こんにちは
回答を待っている間に考えるか簡単なテストでもなさっていれば、すでに結論に辿りついていらっしゃることと思いますが・・・
単純に赤一色の画像を仮定してみれば、重ねたら50%の赤になるのがいいところ(実際は、重ねる順によって変わります)なので、元の色になるはずがないことは明らかですよね?
光の場合は加色混合ではありますが、50%透過にした時点で明度・彩度ともに下がります。他の色(原色)を重ねても、これが元に戻る要素はありません。
さらには、赤50%と青50%を重ねるにしても、順序によって色が変わります。
例えば、赤に青を重ねるとして、上にある青50%は自分より下にある色合いを50%透過することを意味します。下にあるのは赤50%ですから、結果としてその50%の赤25%が透過することになります。
順序が逆の場合は赤50%+青25%となるので、重なった部分の色合いも順序によって異なるものになるはずです。
3色の場合もこれと同様ですが、上になっている色ほど支配的になると考えられます。
ご質問のように、RGBに分解されたデータを混合して表示する方法として考えられるのは、canvasのimagedataを利用して、各原色データをを加色演算することで可能になると思います。
http://www.html5.jp/canvas/ref/method/getImageDa …
※ ご提示の方法(50%透過で重ねる)の簡単なサンプルを作成してみました。
単純化して、赤の矩形と青の矩形をずらして重ねただけのものです。
最初のものは、比較のためのサンプル代わりなので重ねてはいません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
h4 { margin:1em 0 0.2em 0; }
div.orgcolor { height:100px; display: flex; }
div.orgcolor > div { width:150px; height:100px; }
div.colorbox { position: relative; height:100px; }
div.colorbox div { width:300px; height:100px; }
div.colorbox div { position: absolute; top: 0; left:0; }
div.colorbox div:nth-child(2) { left:150px; }
div.r { background-color: #F00; }
div.b { background-color: #00F; }
div.m { background-color: #F0F; }
div.trans { opacity: 0.5; }
</style>
</head>
<body>
<h4>比較サンプル</h4>
<div class="orgcolor">
<div class="r">赤</div>
<div class="m"> </div>
<div class="b">青</div>
</div>
<h4>50%赤の上に50%青</h4>
<div class="colorbox">
<div class="r trans">赤</div>
<div class="b trans">青</div>
</div>
<h4>50%青の上に50%赤</h4>
<div class="colorbox">
<div class="b trans">青</div>
<div class="r trans">赤</div>
</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- Photoshop(フォトショップ) 【至急】 ウェブサイトやアプリとかでよく見かける、添付画像のように背景にあるものをぼかしつつ透過する 2 2023/07/17 10:57
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS サイトをマルチデバイス対応にする為の準備や、CSSなどのおすすめサンプル集やアドバイスを頂きたいです 1 2022/07/13 22:15
- HTML・CSS HTMLとCSSコードを教えてください 1 2022/04/27 09:47
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
css固定したフッターが本文と重...
-
大分類・中分類・小分類
-
文字を固定したいのですが…
-
オンマウス時に別画像を上に重...
-
html/cssで要素が出てこなくて...
-
CSS のみのタブ切り替えについて
-
HTMLですCSSです この画像のよ...
-
スタイルシートで画面を上下に...
-
文字をクリックしたら別の文字...
-
CSS <div>の入れ子が反映さ...
-
htmlのstyleのposition:relativ...
-
リキッドデザイン3カラム左端幅...
-
フッター上部に謎の隙間
-
MAX関数を使ってからLEFT JOIN...
-
【HTML、VBScript】HTAでのイベ...
-
タブで開いてさらにタブ内をア...
-
1枚の画像をクリックすると複数...
-
JavaScriptで変更した属性の元...
-
1枚の画像をクリックして複数の...
-
【javascript で動的に a タグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSS <div>の入れ子が反映さ...
-
フッター上部に謎の隙間
-
Ctrl+F(検索)の窓を出したいの...
-
【CSS】floatで左右に並べた...
-
css固定したフッターが本文と重...
-
HTMLですCSSです 画像のように...
-
htmlのstyleのposition:relativ...
-
HTMLですCSSです この画像のよ...
-
Flickity で画像にリンクを貼る...
-
画像の特定の座標にカーソルが...
-
チェックボックスの背景色って...
-
html スクロール要素を下から表...
-
レイアウトが崩れないようにす...
-
スクロール可能なチェックボックス
-
リンクで違うページの指定箇所...
-
オンマウス時に別画像を上に重...
-
フッターの下に隙間ができてしまう
-
スタイルシート(CSS)で、高さ...
-
かなり困っています。知恵を貸...
-
離れた場所にマウスオーバーで...
おすすめ情報