0

TCP メッセージを介して winform にイメージをロードしようとしています。

現時点では、次の方法で必要なディレクトリを検索するようにプログラムを設定しています。この行は、私が設定した TCP クラスで保持されます。

Image _imageName = Image.FromFile("C:\\Image\\");

私の tcp コマンドが行うことは、次の文字列行を送信することです。

IMG Cat

最初の 3 文字は重要ではありませんが、そこにある必要があります。この tcp コマンドを使用して、最初の 3 文字に応じて動作する switch ステートメントを設定しました。したがって、私の新しい _image name 行は次のようになります。

Image _imageName = Image.FromFile("C:\\Image\\" + splitString[1]);

_imageName の値は、Picture という getter に格納されます。

Image クラス内で、ファイルを次のように表示するように設定しています。

PictureBox _picBox = new PictureBox();
_picBox.Image = Image.FromFile(_tcp.Picture);

ただし、次のエラーが発生します。

"System.Drawing.Image.FromFile(string) に最適なオーバーロードされたメソッドには、無効な引数が含まれています。引数 1: 'System.Drawing.Image' を 'string; に変換できません。

強調表示されている行は _picBox.Image 行です。私は答えをググってみました。コマンドをイメージとフロートの両方としてキャストし、ゲッターを変更します。しかし、何も機能していません。

これを修正する方法を知っている人はいますか?

4

1 に答える 1

0

この行では、Image別のImageインスタンスから作成しようとしています。

 PictureBox _picBox = new PictureBox();
_picBox.Image = Image.FromFile(_tcp.Picture);

メソッドはロードしたい画像ファイルへのパスを受け入れFromFileます。string次のように修正します。

 PictureBox _picBox = new PictureBox();
_picBox.Image = _tcp.Picture;
于 2013-02-04T11:14:43.540 に答える