none
如何读取资源文件的图像 RRS feed

  • 问题

  • 在资源文件嵌入了一个图像。

    然后在页面放一个image控件

    怎么将图像路径赋值给image1.ImageUrl

    2010年7月22日 9:21

答案

  • Resources.Resource.image1应该是Stream对象,应该这样使用

    image1.ImageUrl="GetImage.aspx?key=image1"

     

    在GetImage。aspx里输出流

    Response.Clear();

    Response.ContentType ="image/*";

    Response.BinaryWrite((byte[])xxx); //或者Response.Write(Resources.Resource.image1);


    【孟子E章】
    • 已标记为答案 ogra 2010年7月23日 5:36
    2010年7月23日 5:29
    版主

全部回复

  • 你好,

    主要可以通过ResourceManager类的GetObject()方法,也可以通过GetStream()得到流后执行操作.

    System.Resources.ResourceManager manager =
    new System.Resources.ResourceManager("资源名称", Assembly.GetExecutingAssembly());
    Object target = manager.GetObject("资源文件名");//获取到指定的资源的值
    在这里对应我们加入到资源文件的清单,转换回我没的目标值,可能会产生一个拆箱的过程如果我们资源文件对应的该清单是一个图片文件

    System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)target;
    //如果我们的资源文件是光标文件
    Cursor cursor = (Cursor)target;
    //图标
    Icon icon = (Icon)target;
    //字符串
    string str = target.ToString();//或者manager
    manager.GetString("资源文件名");

    希望对你有所帮助。
    2010年7月22日 10:22
  • 直接用Resources.Resource.image1就可以获得该对象。

    问题是如何将该对象赋值给image1控件,或者说,如何将该图片显示在网页上。

    2010年7月23日 4:43
  • Resources.Resource.image1应该是Stream对象,应该这样使用

    image1.ImageUrl="GetImage.aspx?key=image1"

     

    在GetImage。aspx里输出流

    Response.Clear();

    Response.ContentType ="image/*";

    Response.BinaryWrite((byte[])xxx); //或者Response.Write(Resources.Resource.image1);


    【孟子E章】
    • 已标记为答案 ogra 2010年7月23日 5:36
    2010年7月23日 5:29
    版主
  • 原来要这样,明白了。
    2010年7月23日 5:37