ほとんどの画像には、赤、緑、青の 3 つのデータ チャネルがあり、多くの場合、RGB データと呼ばれます。 画像の各ピクセルには各カラー チャンネルの値があり、JMP では (0,0,0) は黒、(1,1,1) 白、(1,0,0) 赤、(0.5,0.5) になります。 ,0.5) グレー。
Web デザイナーは、透明性のために別の情報チャネルを好みます。多くの場合、アイコンには背景が透けて見える透明な領域があります。 そのチャンネルはアルファチャンネルと呼ばれ、RGBA になります。
アルファ チャネルは、カラー チャネルと同様に、小数の値を持つことができます。 alpha および 1 - alpha は、結果を作成するために使用される前景と背景の割合です。 近づきすぎなければ、結果はかなり良いです。
Alpha transparency around JMP's iconAlpha transparency around JMP's iconAlpha transparency around JMP's iconAlpha transparency around JMP's iconJMPのアイコン周りのアルファ透明度
添付の AlphaIcon.jmpapp を実行して、これを試すことができます。 アイコンの背後にあるグラデーションは透明な領域を通して表示され、エッジは青と緑、または青とオレンジの間でクロスフェードします。 アルファ値を 0.0 にすると、グラデーションが表示されます。 1.0 はアイコンを示し、小数値はクロスフェードを示します。 (拡大鏡アプリを使用して、大きなピクセル化された画像を取得しました。 アプリ ビルダーを使用して、グラデーション付きのグラフ上にアイコン ボックスをフロートさせました。)
上記の例は、アルファ チャネルの一般的な使用方法です。 以下の例はバリエーションです。 JSL は RGB 値で色を描画し、アルファ値で白 (または黒) の線を描画します。 同じ効果を得る方法は他にもありますが、この方法では、データをマージするための追加のコードは必要ありませんでした。 線の色は、画像ボックスを保持する境界ボックスの背景色によって決まります。 アルファ値が 0 の場合、背景が表示されます。 render 関数では、bitcolor と bitcurve の 2 つの配列を組み合わせて画像を作成します。 bitcurve は線が表示される場所に 1.0 で構築されているため、1-bitcurve は必要なアルファ チャネルを作成します。
{red,green,blue} = colortorgb(bitcolor);
image=newimage("rgba",{red,green,blue,1-bitcurve});結果を黒背景の白線から白背景の黒線に変更するには、境界ボックスの色を変更します。
newwindow("curves",bb=borderbox(textbox("")));
bb<<SETBACKGROUNDCOLOR></SETBACKGROUNDCOLOR>ボーダー ボックスは、最初の画像に置き換えられるダミーのテキスト ボックスの子で作成されます。
(bb<<CHILD></CHILD>
左がビットカーブ、中央がビットカラー、右が RGBA。 この画像では、RGB データの大部分が黒で、アルファ チャネルが 0.0 を超える部分が白の背景で示されています。
Border box with a white backgroundBorder box with a white backgroundBorder box with a white backgroundBorder box with a white background背景が白のボーダーボックス
この画像では、RGB データの大部分が白で、代わりに黒の背景が透けて見えます。
Border box with a black backgroundBorder box with a black backgroundBorder box with a black backgroundBorder box with a black background背景が黒のボーダーボックス
上の両方の画像の右側は、境界ボックスの背景色の上に色のアルファ ブレンディングを示しています。
添付のcurveyBlog.jslは、アクティブな線をインクリメントし、それらをランダムに分岐させ、写真を撮ることで画像を構築します. ビデオはここそして最大化したい。
前の例.
ありがとう! 私は、ランダムな要素がどのように使用されるかを指示するのに役立ついくつかの調整可能なパラメーターを持つアルゴリズムが好きです。 これは、つるがそれ以上の成長を防ぐのに十分なスペースを使い果たすまで実行されました. パラメーターを選択したら、それを数回実行して、気に入った一連の画像を取得し、適切なステップ サイズで、気に入ったビデオの長さを作成しました。