[
板情報
|
R18ランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
この機能を使うにはJavaScriptを有効にしてください
|
汎用関数・ライブラリ総合スレ
97
:
No.76
◆TjhVHgLlXw
:2019/09/08(日) 23:02:03 ID:vVc.2kjQ
以前スレ民のかたに教わりながら作ってUPしたCO0のcolorMatrixのサンプルから
ARG_COLORに0xRRGGBBのカラーコードを、ARG_ALPHAに0〜255の透明度を指定し
画像の色を変える機能だけ抜き出して貼ります(ARG_ALPHAは指定しなければ初期値不透明)
ARG_COLOR=-2でグレーのシルエット画像に・ARG_COLOR=-1で元の画像をそのまま表示
発色は元画像の明るさでだいぶ変わるので少し癖があります
ベース画像は彩度0を想定して作りました
もっと奇麗に色の出るやりかたがあるのかもしれないので気が向いた方は改善してください
今度は最低限の部分をコピペしたのでミスはないはず(と願う)作者名表記とかは不要です
ERHに
#DIM COLOR_MATRIX_ELEMENTS, 5, 5
ERBに
@CODE_TO_RGB_R(ARG_COLOR)
#FUNCTION
#DIM DYNAMIC ARG_COLOR
#DIM DYNAMIC RGB_R
RGB_R = (ARG_COLOR >> 16) & 0xFF
RETURNF RGB_R
@CODE_TO_RGB_G(ARG_COLOR)
#FUNCTION
#DIM DYNAMIC ARG_COLOR
#DIM DYNAMIC RGB_G
RGB_G = (ARG_COLOR >> 8) & 0xFF
RETURNF RGB_G
@CODE_TO_RGB_B(ARG_COLOR)
#FUNCTION
#DIM DYNAMIC ARG_COLOR
#DIM DYNAMIC RGB_B
RGB_B = ARG_COLOR & 0xFF
RETURNF RGB_B
@GET_COLOR_MATRIX(ARG_COLOR, ARG_ALPHA = 255)
#DIM DYNAMIC ARG_COLOR
#DIM DYNAMIC ARG_ALPHA
#DIM DYNAMIC RGB_NEW_R_OLD_R
#DIM DYNAMIC RGB_NEW_G_OLD_R
#DIM DYNAMIC RGB_NEW_B_OLD_R
#DIM DYNAMIC RGB_NEW_R_OLD_G
#DIM DYNAMIC RGB_NEW_G_OLD_G
#DIM DYNAMIC RGB_NEW_B_OLD_G
#DIM DYNAMIC RGB_NEW_R_OLD_B
#DIM DYNAMIC RGB_NEW_G_OLD_B
#DIM DYNAMIC RGB_NEW_B_OLD_B
VARSET COLOR_MATRIX_ELEMENTS
IF ARG_COLOR == -2
COLOR_MATRIX_ELEMENTS:0:0 = 0, 0, 0, 0, 0
COLOR_MATRIX_ELEMENTS:1:0 = 0, 0, 0, 0, 0
COLOR_MATRIX_ELEMENTS:2:0 = 0, 0, 0, 0, 0
COLOR_MATRIX_ELEMENTS:3:0 = 0, 0, 0, ARG_ALPHA, 0
COLOR_MATRIX_ELEMENTS:4:0 = 60, 60, 60, 0, 255
ELSEIF ARG_COLOR == -1
COLOR_MATRIX_ELEMENTS:0:0 = 255, 0, 0, 0, 0
COLOR_MATRIX_ELEMENTS:1:0 = 0, 255, 0, 0, 0
COLOR_MATRIX_ELEMENTS:2:0 = 0, 0, 255, 0, 0
COLOR_MATRIX_ELEMENTS:3:0 = 0, 0, 0, ARG_ALPHA, 0
COLOR_MATRIX_ELEMENTS:4:0 = 0, 0, 0, 0, 255
ELSE
RGB_NEW_R_OLD_R += CODE_TO_RGB_R(ARG_COLOR)
RGB_NEW_G_OLD_R += CODE_TO_RGB_R(ARG_COLOR)
RGB_NEW_B_OLD_R += CODE_TO_RGB_R(ARG_COLOR)
RGB_NEW_R_OLD_G += CODE_TO_RGB_G(ARG_COLOR)
RGB_NEW_G_OLD_G += CODE_TO_RGB_G(ARG_COLOR)
RGB_NEW_B_OLD_G += CODE_TO_RGB_G(ARG_COLOR)
RGB_NEW_R_OLD_B += CODE_TO_RGB_B(ARG_COLOR)
RGB_NEW_G_OLD_B += CODE_TO_RGB_B(ARG_COLOR)
RGB_NEW_B_OLD_B += CODE_TO_RGB_B(ARG_COLOR)
COLOR_MATRIX_ELEMENTS:0:0 = RGB_NEW_R_OLD_R, RGB_NEW_R_OLD_G, RGB_NEW_R_OLD_B, 0, 0
COLOR_MATRIX_ELEMENTS:1:0 = RGB_NEW_G_OLD_R, RGB_NEW_G_OLD_G, RGB_NEW_G_OLD_B, 0, 0
COLOR_MATRIX_ELEMENTS:2:0 = RGB_NEW_B_OLD_R, RGB_NEW_B_OLD_G, RGB_NEW_B_OLD_B, 0, 0
COLOR_MATRIX_ELEMENTS:3:0 = 0, 0, 0, ARG_ALPHA, 0
COLOR_MATRIX_ELEMENTS:4:0 = 0, 0, 0, 0, 255
ENDIF
RETURN 0
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板