none
显示image变量的图像 RRS feed

  • 问题

  • 有一个 System.Drawing.Image aaa 变量, 还在编辑中,在内存中,
    能不能在不保存aaa, 就显示aaa图像? 该用哪个控件? 
    2009年10月5日 3:19

答案

  • 可以的,简单的使用img就可以了。

    <img src="Image1.aspx" />


    Image1.aspx内容:
    <%@ Page Language="C#" %>
    
    <script runat="server">
    
      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ClearContent();
        Response.ContentType = "image/jpeg";
        System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("~/test.jpg"));
        img.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
        Response.End();
      }
    </script>
    
    为了测试简单,直接从文件内取一个Image对象
    【孟子E章】
    • 已标记为答案 lfj0912 2009年10月6日 1:35
    2009年10月5日 5:53
    版主
  • 您好,我想用ashx性能会更好,借老孟的代码一用,请参考:
    创建一个ShowImg.ashx文件。
    public class ShowImg : IHttpHandler
        {

            public void ProcessRequest(HttpContext context)
            {
                try
                {
                    context.Response.ClearContent();
                    context.Response.ContentType = "image/jpeg";
                    System.Drawing.Image img = System.Drawing.Image.FromFile(context.Server.MapPath("~/sphere.jpg"));
                    img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                catch(Exception ex)
                {
                    throw ex;
                }
            }

            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }

    • 已标记为答案 lfj0912 2009年10月6日 1:35
    2009年10月5日 8:30
    版主

全部回复

  • asp.net 貌似没有这个功能
    silverilght可以!

    2009年10月5日 5:11
  • 可以的,简单的使用img就可以了。

    <img src="Image1.aspx" />


    Image1.aspx内容:
    <%@ Page Language="C#" %>
    
    <script runat="server">
    
      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ClearContent();
        Response.ContentType = "image/jpeg";
        System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("~/test.jpg"));
        img.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
        Response.End();
      }
    </script>
    
    为了测试简单,直接从文件内取一个Image对象
    【孟子E章】
    • 已标记为答案 lfj0912 2009年10月6日 1:35
    2009年10月5日 5:53
    版主
  • 您好,我想用ashx性能会更好,借老孟的代码一用,请参考:
    创建一个ShowImg.ashx文件。
    public class ShowImg : IHttpHandler
        {

            public void ProcessRequest(HttpContext context)
            {
                try
                {
                    context.Response.ClearContent();
                    context.Response.ContentType = "image/jpeg";
                    System.Drawing.Image img = System.Drawing.Image.FromFile(context.Server.MapPath("~/sphere.jpg"));
                    img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                catch(Exception ex)
                {
                    throw ex;
                }
            }

            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }

    • 已标记为答案 lfj0912 2009年10月6日 1:35
    2009年10月5日 8:30
    版主
  • 谢谢大家的指导!


     
    2009年10月6日 1:35