Ver262を使っておりますが。。(すみません)
Point( )で、特定座標のRGBがとってこれます。
24ビットデータということなので分離したいのですが。
結果は倍精度の符号付10進データで来ますので。
調理の方法に困っています。
いい関数などがすでにあるのでしょうか?
(ひたすらヘルプを読んでいますが、なかなか分かりません)
どなたか、このへんについてお詳しい方、追加解説をお願いいたします。
Pointの24ビットデータについて
手抜きですが次のコードを試してみてくだされ。
4.13のコードからちょっと引っ張ってきたので2.62で動く保障はありませんが。
追記:2.62で動作確認。 '06/3/8 21:05
4.13のコードからちょっと引っ張ってきたので2.62で動く保障はありませんが。
コード: 全て選択
'定義
FF=255
GetBasicColor(0)=RGB(0,0,0)
GetBasicColor(1)=RGB(0,0,FF)
GetBasicColor(2)=RGB(FF,0,0)
GetBasicColor(3)=RGB(FF,0,FF)
GetBasicColor(4)=RGB(0,FF,0)
GetBasicColor(5)=RGB(0,FF,FF)
GetBasicColor(6)=RGB(FF,FF,0)
GetBasicColor(7)=RGB(FF,FF,FF)
'ここからメインプログラム
X=1
Y=1
PSet (X,Y),RGB(255,0,0)
A=Point (X,Y)
'ここからRGB値の取り出し
If A<0 Then
ColorCode=Abs(A)
Else
ColorCode=Abs(GetBasicColor(A))
End If
Red=ColorCode Mod 256
Green=Int(ColorCode/256) Mod 256
Blue=Int(ColorCode/65536) Mod 256
'ここから表示
Print Red
Print Green
Print Blue
追記:2.62で動作確認。 '06/3/8 21:05
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ありがとうございます。
なるほどですね。
では、BB GG RR の順で
00 00 00 から
FF FF FF までを持っているんですね。
ということは
RRの値+(GGの値*256)+(BBの値*256*256)
の逆をすれば分離できるということですね。
符号付は、符号無視。ないしは、符号を昇降順と考えると。
RR GG BB の順で
00 00 00 から
FF FF FF までを持っているんですね。
なんとなく、処理が見えてきました。
ありがとうございました。
では、BB GG RR の順で
00 00 00 から
FF FF FF までを持っているんですね。
ということは
RRの値+(GGの値*256)+(BBの値*256*256)
の逆をすれば分離できるということですね。
符号付は、符号無視。ないしは、符号を昇降順と考えると。
RR GG BB の順で
00 00 00 から
FF FF FF までを持っているんですね。
なんとなく、処理が見えてきました。
ありがとうございました。