0

我想知道如何从图像 Web 控件设置位图?名为的图像 Web 控件是imgLoader. 我试过了

Bitmap bmp = new Bitmap(imgLoader);

但是,错误表明它:

无法从 'System.Web.UI.WebControls.Image' 转换为 'System.Drawing.Image' 和 'System.Drawing.Bitmap.Bitmap(System.Drawing.Image') 的最佳重载方法匹配有一些无效参数。

4

4 回答 4

2

也许你可以试试

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

来源

它们是两个完全不同的对象:

  • 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

位图构造函数需要图像作为参数。

将“imgLoader”图像投射到 System.Drawing.Image 并将图像传递给 Bitmap。

于 2013-10-02T05:15:20.347 回答
0

当页面在客户端呈现时,Image WebControl 将发出 HTML。HTML 元素的 src 属性将指向图像的 url,以便浏览器可以下载并显示在其分配的位置。

如果要在 Bitmap 对象中加载相同的图像,请在 Web 服务器中获取图像的物理路径并创建如下所示的位图

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

您可以从ImageUrl 属性中获取图片的物理路径,并通过Server.MapPath 将url 转换为物理绝对路径。

如果图像 url 没有本地存储在您的服务器中,您可以使用 HttpClient 下载图像并保存在您的服务器 TEMP 文件夹下以便能够加载和操作。

于 2013-10-02T06:56:51.203 回答