0

イメージ Web コントロールからビットマップを設定する方法を教えてください。という名前の画像 Web コントロールは ですimgLoader。私が試してみました

Bitmap bmp = new Bitmap(imgLoader);

ただし、エラーには次のように記載されています。

'System.Web.UI.WebControls.Image' から 'System.Drawing.Image' に変換できません。 .'

4

4 に答える 4

2

多分あなたは試すことができます

Bitmap bitmap = new Bitmap(Server.MapPath(imgLoader.ImageUrl));
于 2013-10-02T05:19:32.817 に答える
1

ソース

これらは 2 つの完全に異なるオブジェクトです。

  • System.Web.UI.WebControls.Image は、HTML をレンダリングする機能を備えたコントロールであり、ブラウザが指定された画像をダウンロードして表示します。

  • System.Drawing.Image は、画像をメモリに読み込んで操作したり、コントロールに表示したりできるクラスです
    (ただし、Web イメージ コントロールではありません)。

残念ながら、System.Web.UI.WebControls.Image を System.Drawing.Image に変換する方法はありません。画像データには触れません。

ImageUrl で画像を取得し、それを System.Drawing.Image に変換する場合は、呼び出すことができます

System.Drawing.Image.ImageFromFile("path/to/image")
于 2013-10-02T05:19:38.263 に答える
0

Image WebControl は、ページがクライアント側でレンダリングされるときに HTML を出力します。HTML 要素には、画像の URL を指す src 属性があり、ブラウザーがダウンロードして割り当てられた場所に表示できるようになります。

同じ画像を Bitmap オブジェクトにロードする場合は、Web サーバーで画像の物理パスを取得し、以下のようにビットマップを作成します。

Bitamp bmp = Bitmap.FromFile("PHYSICAL-IMAGE-PATH");

ImageUrl プロパティから物理イメージ パスを取得し、Server.MapPath を介して URL を物理絶対パスに変換できます。

画像の URL がサーバーにローカルに保存されていない場合は、HttpClient を使用して画像をダウンロードし、サーバーの TEMP フォルダーに保存して、読み込んで操作できるようにすることができます。

于 2013-10-02T06:56:51.203 に答える
0

ビットマップ コンストラクターには、引数としてイメージが必要です。

「imgLoader」画像を System.Drawing.Image にキャストし、その画像を Bitmap に渡します。

于 2013-10-02T05:15:20.347 に答える