• ベストアンサー

RGB値を取得する

カーソルのある場所の、RGB値を取得するプログラムを作りたいのですが、VisualBasicでこのようなことは作れるのでしょうか? もし作ることが出来るのなら、どのようにプログラムを組んだら良いのでしょうか? また、もしVisualBasicでは出来なくても、例えばCやJAVAであれば出来るのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cmi
  • ベストアンサー率36% (132/364)
回答No.1

VB6であればpointメソッドを使ってできると思います。 VB.netはGetPixelを使ってできそうです。

amikiho
質問者

お礼

VB6のpointメソッドというのは、pictureboxコントロールのものですか? そのコントロールでは、例えばインターネットをしていてカーソルのある所のRGB値というのを取得できるのでしょうか? もしくは、フォームを透過するとかそういったことで出来るようになりますでしょうか? まったくの初心者なので至らない点もたくさんあると思いますが、よろしければ再度回答をお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Cmi
  • ベストアンサー率36% (132/364)
回答No.3

例えばですが、画面をキャプチャして、そのbmpをpictureboxに貼り付けます。 あとはpictureboxの座標を指定してRGBを取得すればOKです。

amikiho
質問者

補足

ご回答ありがとうございました。 APIで完成させることが出来ました。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

VBA(VB 6.0)でエクセルのフォント色でやってみました。 Sub test01() Cells(1, 2).Font.Color = RGB(0, 255, 0) x = Cells(1, 2).Font.ColorIndex MsgBox x Y = Cells(1, 2).Font.Color MsgBox Y End Sub でYは65280になりました。 65280=256X255です. 16百万色(255^3)は、RGB(○、ロ、△)で表され X=○*256^2+ロ*256+△で表現され △は256で割った余り ロはその○*256^2+ロ*256を256で割った余り ○はそれを256で割った商で求められます。 上記を一度プログラムを組んでやってみてください。 RGB(R)(仮称)のような関数はVBには無いようです。 ーー Javaでも上記Yにあたる値を取得する方法があると思います。

amikiho
質問者

お礼

ご回答ありがとうございました。 APIで完成させることが出来ました。

すると、全ての回答が全文表示されます。

関連するQ&A