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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0206
yutome色の情報の取得8解決


yutome

リンク

2007/2/6(Tue) 12:34:17|NO.5458

例えば、picloadで画像を読み込み点(100,100)

の色の情報(R・G・B)を取得することはできるのでしょうか?


できるのであれば教えてください



この記事に返信する


Irisawa

リンク

2007/2/6(Tue) 12:56:10|NO.5459

標準命令ではpgetというのがあります。
ただし、現在のRGB色まで変更されてしまうようですので色を取得したいだけの場合は使用
できませんので、VRAMを直接操作したりHDCから取得する方法しかないと思います。
この辺りは詳しくないので説明できませんが...。



hiroki

リンク

2007/2/6(Tue) 13:17:11|NO.5460

pget するまえに、現在の色情報を保存するとか。^^;



英爺

リンク

2007/2/6(Tue) 13:19:15|NO.5461

yutomeさんこんにちは。

あれ、yutomeさんの説明読んでて不安になったけど、ドットの色を取得するのって
pgetで良いと思うよ。


screen 0,200,100,0 : cls 4 color 255,255,255 : boxf 20,20,100,60 *AAA pget mousex,mousey r=ginfo(16) : g=ginfo(17) : b=ginfo(18) title "R:"+str(r)+"G:"+str(g)+"B:"+str(b) await 10 goto *AAA stop

ウィンドーを黒で初期化して、中に白の部分を作っています。
マウスを動かすと、タイトルバーに色コードが表示されます。
色のところへ入ると255,255,255になるよ。ginfoとの組み合わせでやってみてください。



I386

リンク

2007/2/6(Tue) 16:35:43|NO.5464

>あれ、yutomeさんの説明読んでて不安になったけど、ドットの色を取得するのって
>pgetで良いと思うよ。

そういう問題ではなくて、たぶんIrisawaさんが言いたいのは、
点のカラーを取得すると同時に現在指定している色も変わってしまうので…
ということでは…

あれは3.0から追加された機能みたいですが、どちらかというとあまり追加
してほしくなかったかも…
pget x,y,r,g,b

みたいにすると便利では?



英爺

リンク

2007/2/6(Tue) 17:00:16|NO.5466

うっ(..;)読みが浅かったか!なるほど。
yutomeさんの応答を待とう。



Irisawa

リンク

2007/2/6(Tue) 17:36:18|NO.5468

hirokiさんのいうようにpgetする前に取得しておけば一応は大丈夫ですね。
ただし、少し面倒だったり無駄な処理が入るので困りますね。


> あれは3.0から追加された機能みたいですが、どちらかというとあまり追加 > してほしくなかったかも… > pget x,y,r,g,b > みたいにすると便利では?

ぼくは関数にして


rgb = pget(x, y, 0) ; r rgb = pget(x, y, 1) ; g rgb = pget(x, y, 2) ; b




rgb = pget(x, y) mes 0xff & (rgb >> 16) ; r mes 0xff & (rgb >> 8) ; g mes 0xff & (rgb ) ; b

という形が一番簡単な気がします。

ただし、現在のpgetと同じ動作をさせたい場合もあるだろうし...。



アキス

リンク

2007/2/6(Tue) 17:45:33|NO.5469


#module r=0:g=0:b=0 #define _pget(%1,%2,%3,%4,%5) r=ginfo_r:g=ginfo_g:b=ginfo_b \ :pget %4,%5:%1=ginfo_r:%2=ginfo_g:%3=ginfo_b \ :color r,g,b #global
これで出来ると思います。(テストしてないので分かりませんが・・・)
書式
_pget (v1,v2,v3,x,y)
v1,v2,v3 =結果の色を代入する変数(RGB順)
x,y =色を取得する位置。
これでいいはずです。



yutome

リンク

2007/2/7(Wed) 03:48:23|NO.5489

皆さん、返信ありがとうございました^^
とても勉強になりました^^

pgetでは現在指定している色も変わってしまうということですが
今作ろうとしているものでは問題ないです

説明がおかしかったみたいですみませんでした^^;

またわからないことがあったら質問すると思いますので
その時はよろしくお願いします^^



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