• ベストアンサー

pictureBoxの画素値取得法

VC++2010Expressを使用しています。 pictureBox1->ImageLocation = "○○.jpg"; として画像を表示しました。 この表示画像の指定した座標の画素値(RGB)を取得するにはどのようにすればよいでしょうか。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

PictureBoxの画像は、 Imageプロパティでわかります http://msdn.microsoft.com/ja-jp/library/vstudio/system.windows.forms.picturebox.image.aspx http://msdn.microsoft.com/ja-jp/library/vstudio/system.drawing.image.aspx JPEGを読み込んだのなら、実際にはBitmapクラスになっていると思われます http://msdn.microsoft.com/ja-jp/library/vstudio/system.drawing.bitmap.aspx BitmapクラスにはGetPixelメソッドがあります http://msdn.microsoft.com/ja-jp/library/vstudio/system.drawing.bitmap.getpixel.aspx ついでに、別質問にあった「ファイルを介さずに画像を表示する方法」ですが Bitmapクラスで画像を作って、PictureBoxのImageに設定します。 上記Bitmap クラスのマニュアルにサンプルコードが載っています。 面倒かもしれませんが、マニュアルを読みましょう。 とりあえずは、関連しそうなところを辿っていくだけでいいです。

softwarelearner
質問者

お礼

いろいろと本当に有難うございます。 マニュアルを読んで勉強します。

その他の回答 (1)

  • DUDDLAY
  • ベストアンサー率66% (136/203)
回答No.1

コンパイル環境がないので、参考までですが、下記URLにコーディングがあります。 http://hiroshi0945.seesaa.net/article/164982799.html 一度目を通してください。これで判ると思います。

参考URL:
http://hiroshi0945.seesaa.net/article/164982799.html
softwarelearner
質問者

お礼

有難うございます。 なかなか難解そうですが、読み解いてみます。

関連するQ&A

  • pictureBoxの例外処理

    VC++2010Expressを使用しています。 pictureBox1->ImageLocation = "○○.jpg"として、画像を表示しています。ただし、おそらく、この画像ファイルにやや損傷があるため、次の2つの事象のいずれかが発生しています。 1)画像は表示されるものの例外が発生する(VSの出力ウィンドウに表示される。) 2)例外が発生して、プログラムが落ちてします。 これらを回避する方法を教えてください。例外処理に詳しくないので具体的方法を宜しくお願い致します。

  • pictureBox1.ImageLocation = ("1.jpg

    pictureBox1.ImageLocation = ("1.jpg"); pictureBox2.ImageLocation = ("2.jpg"); pictureBox3.ImageLocation = ("3.jpg"); pictureBox4.ImageLocation = ("4.jpg") pictureBox5.ImageLocation = ("5.jpg") ............ と永遠に数を増やしていく場合 わざわざ一文ずつ書く以外に方法はありますか? for (int i = 0; i == 10; i++){ "picturebox" + i + ".ImageLocation" = (i + ".jpg"); } のような感じにできると嬉しいのですが・・・ 返信お願いします

  • pictureboxの画像の保存

    お世話になっております。 VC2005を使用しております。 pictureboxに描画されている画像を、CImageクラスを使用してjpgでファイルに保存するにはどのようにすればよいのでしょうか? 教えてください。 よろしくお願いします。

  • pictureboxに表示した画像のファイル名を取得したい。

    PictureBox1.image=image.fromfile("c:\a.jpg") のように画像を表示したピクチャーボックスの ファイル名c:\a.jpgを取得するには どのように書いたら良いでしょうか。 VB.NETでございます。m(__)m

  • PictureBoxの件で教えて頂きたいです VB.NET

    PictureBox1に画像を表示してあり、 その画像の一部分を四角形で指定して、 PictureBox2に表示するのですが、 例えばPictureBox1から切り取った画像が100*100の サイズだった場合に、PictureBox2に表示する際に PictureBox2のサイズを200*200などと 元の100*100より大きく設定して、 PictureBoxSizeMode.StretchImageを実行して、 画像を200*200で表示して、 それをそのサイズで保存したいのですが、 保存された画像をみると100*100になってしまっています。 表示されているサイズ(この場合200*200)で保存したいのですが、 方法を教えて頂けたら助かります。 保存は .Image.Save("c:\test.jpg", Imaging.ImageFormat.Jpeg) で保存しています。 宜しくお願い致します。

  • comboBoxのファイル取得とPictureBoxで画像表示

    質問です。 ローカル(例:C:\Program Files\Test\1.jpg)等の中身(1.jpg)を、 取得してその取得した物をComboBoxの中で表示 そして表示されたComboBoxをクリックして取得した1.jpgを クリックするとPictureBoxに表示する。 "1.jpg","2.jpg","3.jpg"が複数有る場合は、 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button4.Click '上記でもいいが下記の方法が MSDN でも紹介されています。 '最初にイメージによって使用されているメモリを解放してから、グラフィックを消去します With PictureBox1 If Not (.Image Is Nothing) Then .Image.Dispose() .Image = Nothing End If End With End Sub と明記してPictureBoxの中身を消して ComboBoxで取得された2.jpgを読込む この様なソースコードを書きたいのですが、 ComboBoxにどの様に書けば良いのか困ってます。 どうか教えて下さい。 Form1で作る予定です。

  • 画像の座標取得

    VBのPictureBoxでピクチャーを表示し、指定したカラーの座標(X,Y)を配列で取得する方法はありますか? 例えば、真っ黒の中に白い点が散りばめられている画像を読み込んだとして、ピクチャー上に白で表示されている部分のXY軸を取得し、座標計算等を行おうとしています。 上記方法以外でも良い方法があればお願いします。 画像自体が大きいので、出来るだけ早い処理で取得出来るものをと考えています。

  • VisualStudioのpictureBox

    VC++2008でC++/CLIでpictureBoxにグラフを描画するプログラムを作成しています。 最大値を200程度にしたいのですが,約180以上の数値を入れるとpictureBoxの上部に点が描画されているようです。(pictureBoxの外側なので,点は見えませんが...) 最大値を200,最小値を0としたら,pictureBoxの最上部が200,最下部が0 になるようなプログラムはどのようにすればよいでしょうか? 座標は左下が原点になるようには設定しています。

  • pictureBoxの画像の座標の色の出し方。

    VC++で、pictureBoxで表示した画像を適当な場所をクリックするとその座標とRGBの色あいが表示するプログラムなんですが、エラーはしなかったんですが、デバックして画像表示して適当にクリックしてもなにも表示されませんでした。 プログラムに間違えでもあるのかみてください。 private: System::Void pictureBox1_MouseDown(System::Object^sender, System::Windows::Forms::MouseEventArgs^ e) { String^fname = openFileDialog1->FileName; Bitmap^fun = gcnew Bitmap(fname); Point^ p = PointToClient( Point(e->X ,e->Y)); Color^col = fun->GetPixel(p->X,p->Y); label1->Text = String::Format("..{0}", fun->GetPixel(p->X,p->Y)); }

  • C#で、画像の、指定した座標の色情報を取得し

    C#、Visual Studio2008を使用しています。 ピクチャーボックスに画像を読み込み、その画像の、指定した座標の色情報を取得したいです(RGB値)。 画像の読み込みまではできました。 その次の指定した座標の色情報を取得するようなメソッド?コマンド?は存在するのでしょうか? 検索しても出てこないため、ご存知でしたら教えていただけると助かります。よろしくお願いします。

専門家に質問してみよう