HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0616
変換len6解決


変換

リンク

2007/6/16(Sat) 23:22:43|NO.8976

RGB値から、HTMLで使う#ffffffのような数値、に変換を行うことはできますか?



この記事に返信する


Lilly

リンク

2007/6/16(Sat) 23:47:19|NO.8977

できます。
#module "CONV_COLOR"
; toHex命令 ; toHex(p1,p2,p3) ; p1 = 赤(上限255) p2 = 青(上限255) p3 = 緑(上限255) #defcfunc _toHex_ int c_Red, int c_Blue, int c_Green if(c_Red >= 256) : c_Red -= 255 if(c_Blue >= 256) : c_Blue -= 255 if(c_Green >= 256) : c_Green -= 255 strHex = "#"+strf("%02x",c_Red)+strf("%02x",c_Blue)+strf("%02x",c_Green) return strHex #define global ctype toHex(%1=0,%2=0,%3=0) _toHex_(%1,%2,%3) #global
著作権とかは好きにしてください。



len

リンク

2007/6/17(Sun) 11:04:31|NO.8981

タイトルと名前を間違えてしまいました・・・
#ffffffとかいうのは、赤緑青の0〜255を、十六進数で表した値なのですね。(違うかもしれません)
著作権は自由ということなので、使わせていただきます。
ありがとうございました。



KAW

リンク

2007/6/17(Sun) 13:44:11|NO.8985

解決の後の茶々入れで申し訳無いのですが...
どうせRGB値の範囲制限をするなら、下限値(0)判定と
値が511以上の場合も考慮に入れたほうが良いかと。

; if(c_Red >= 256) : c_Red -= 255 c_Red = limit(c_Red, 0, 255)
c_Blue, c_Green も同様です。



FUJI

リンク

2007/6/17(Sun) 14:27:27|NO.8986

Lillyさんのスクリプトも、KAWさんのスクリプトも、c_Red,c_Green,c_Blueは変数でないので、代入しようとするとエラーが出ます。



f

リンク

2007/6/17(Sun) 18:02:32|NO.8992

ぶっちゃけ、

R = 255 G = 255 B = 255 mes strf("#%06x", ( limit(R,0,255)<<16 ) + ( limit(G,0,255) << 8 ) + limit(B,0,255) )

で事が足りると思うけどな。



KAW

リンク

2007/6/17(Sun) 20:18:50|NO.8996

あれ? ...(試し中)... #defcfunc のエイリアス名は値の参照は
できるけど値の代入はできないんですね。
すいません確認不足でした。



ONION software Copyright 1997-2021(c) All rights reserved.