![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
保存された画像(bmpまたはjpg形式)の指定した座標
(仮に画面中央とします。また、マウスで指定した場所など、座標を設定した後に座標を設定しなおすことはありません。また指定した座標というのは一箇所で良いです。複数あれば、なおよいですが。)
のRGB値を返すにはどうしたらよいでしょうか?
テキストボックスなり、ラベルなりにR、B、G、それぞれの値を出力するのが目標です。
また、Delphiに対して理解が不足しているので、ソースプログラムや参考URLをそのまま載せていただけると嬉しいです。
方法をご存知の方いましたら、是非よろしくお願いします!m(_ _)m
No.2ベストアンサー
- 回答日時:
RGBの分解にレコード型を使ったものと、GetRValue等の関数を使ったものを用意しました。
レコード型の方が高速…なのかな?コード中のGetRValueの文字の上にキャレットを置き、右クリック→定義の検索を行うと関数の実体が見れます。
画像のある点の色(TColor値)を取得する基本的な方法は、TCanvas.Pixelsです。
高速に行いたい場合はTBitmap.ScanLineを使用します。
ヘルプの「VCLリファレンス」で、TBitmap、TCanvas、TColor、ColorToRGB関数等を調べると良いです。
また、ScanLineについては「ビットマップ,描画」でキーワード検索するとサンプルがあります。
ソースはこちら。
http://pastebin.com/TqHzHgXT
下にある「RAW Paste Data」からすべて選択→コピーしてください。
通常ならユニット丸ごとでなく、せいぜいimplementation部以下を提示すれば十分なのですが、まだDelphiに不慣れなご様子ですので全体をアップしました。
サービスして手順も。
1. Form1にボタン2つを配置。(Button1、Button2)
2. Memoを配置。(Memo1)縦に長めにしておくか、ScrollBarsプロパティをssVerticalに設定。
3. Button1をダブルクリック。(イベントが登録され、イベントハンドラ雛型が自動生成される)
4. 同様にButton2もダブルクリック。
5. ソースをコピーして、Delphiのエディタ画面に貼り付け。内容をすべて置き換えるようにする。
もうひとつの質問も拝見しましたが、画像処理のプログラムを制作中なんですよね?
ちょっと不思議なんですが、RGBの取得方法も分からずによく出来ましたね。
どうやってたんですか?
No.1
- 回答日時:
Delphi 6 とは懐かしい。
画像を回転する処理で GetPixcel が使われています。
http://www006.upp.so-net.ne.jp/tamakoubou/delphi …
高速化する場合は ScanLine を使います。
http://www.geocities.jp/asumaroyuumaro/program/t …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(プログラミング・Web制作) 外付ディスプレイで AutoHotkey の MouseMove コマンドを実行するとマウスカーソル 1 2023/03/06 00:04
- その他(自然科学) 光を保存する方法 8 2023/01/31 10:07
- 物理学 角運動量の式変形が分かりません。 4 2022/08/03 21:04
- その他(プログラミング・Web制作) vbaで座標を指定してコマンドプロンプト画面を表示させる。 1 2023/01/09 16:06
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- その他(アウトドア) 野鳥の珍しさランキング 5 2023/05/06 10:50
- 財務・会計・経理 社内精算口座に対する手数料発生について 1 2023/02/26 02:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の座標取得
-
エクセルVBAで画像を貼り付ける...
-
C#で、画像の、指定した座標の...
-
ペイント機能
-
マウスストーカーのようにカー...
-
ピクチャーボックスのスケール...
-
MFC DirectXのデバイスの再設定
-
コモンダイアログの表示座標
-
UWSCで特定の文字をクリックす...
-
VBA HTML要素または文字の座標...
-
バナーにリンクを埋め込む方法
-
Unityでピクセル情報を取得する...
-
グラフの変化をアニメにするには?
-
UWSC画像認識で座標の位置がず...
-
マウスイベントが動かない
-
VBでクリックイベントを発生さ...
-
Delphi6で、指定した座標のRGB...
-
uwscについて、同一の画像(仮...
-
Excel VBAで他アプリケーション...
-
「ご処理進めて頂きますようお...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで画像を貼り付ける...
-
C#で、画像の、指定した座標の...
-
Excel VBAで他アプリケーション...
-
VBでクリックイベントを発生さ...
-
外付ディスプレイで AutoHotkey...
-
UWSC画像認識で座標の位置がず...
-
バナーにリンクを埋め込む方法
-
UWSCのCHKIMG関数について
-
マウスストーカーのようにカー...
-
VBA HTML要素または文字の座標...
-
uwscについて、同一の画像(仮...
-
マウスイベントが動かない
-
UWSファイルの編集?
-
VBAで ScreenToClient を使いたい
-
グラフの変化をアニメにするには?
-
Unityでピクセル情報を取得する...
-
puctureBoxの一部の色を変えた...
-
マウスカーソルの移動
-
エディットボックスの色変更に...
-
JPGの画像ファイルの結合
おすすめ情報