• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET中图片显示方法实例

    本文实例讲述了ASP.NET中图片的显示方法。分享给大家供大家参考。具体如下:

    genimage.ashx:

    复制代码 代码如下:
    %@ WebHandler Language="C#" Class="netpix.ImageGenerator" %>

    genimage.ashx.cs:

    // Copyright (C) 2003 by Greg Ennis
    // (mailto:greg@ennis.net)
    //
    // The contents of this file are subject to the Artistic License (the "License").
    // You may not use this file except in compliance with the License. 
    // You may obtain a copy of the License at:
    // http://www.opensource.org/licenses/artistic-license.html
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Web;
    using System.IO;
    using System.Configuration;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    namespace netpix
    {
      public class ImageGenerator : IHttpHandler 
      { 
        public bool IsReusable 
        { get { return true; } } 
        public void ProcessRequest(HttpContext Context) 
        { 
          // Get the image filename and album root path from the database
          //图片浏览次数
          int numviews;
          //图片数据库中的ID
          int picid = Convert.ToInt32(Context.Request["id"]);
          //图片路径 
          string imgpath = npdata.GetPathToPicture(picid, out numviews);
          // Writing an image to output stream
          Context.Response.ContentType = "image/jpg";
          // 'thumbnail' means we are requesting a thumbnail
          //显示缩略图
          if (Context.Request["thumbnail"] != null)
          {
            // Need to load the image, resize it, and stream to the client.
            // Calculate the scale so as not to stretch or distort the image.
            Bitmap bmp = new Bitmap(imgpath);
            float scale = 150.0f / System.Math.Max(bmp.Height, bmp.Width);
            System.Drawing.Image thumb = bmp.GetThumbnailImage((int)(bmp.Width * scale), (int)(bmp.Height * scale), null, System.IntPtr.Zero);
            thumb.Save(Context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            bmp.Dispose();
            thumb.Dispose();
          }
          else
          {
            // Stream directly from the file
            // Get the stream and send it out the response
            System.IO.FileStream fs = File.Open(imgpath, FileMode.Open, FileAccess.Read, FileShare.Read);
            const int byteLength = 8192;
            byte[] bytes = new byte[byteLength];
            while( fs.Read(bytes, 0, byteLength ) != 0 )
            {
              Context.Response.BinaryWrite(bytes); 
            }
            fs.Close();
            //更新数据库浏览次数
            npdata.SetNumViews(picid, numviews+1);
          }
        }
      }
    }
    
    

    使用方法:

    复制代码 代码如下:
    imgCtrl.ImageUrl = "genimage.ashx?id=" + Request["id"];

    希望本文所述对大家的ASP.NET程序设计有所帮助。

    您可能感兴趣的文章:
    • Asp.net FileUpload+Image制作头像效果示例代码
    • asp.net显示图片到指定的Image控件中 具体实现
    • asp.net验证码图片生成示例
    • ASP.NET实现图片以二进制的形式存入数据库
    • 使用asp.net改变网页上图片颜色比如灰色变彩色
    • 使用asp.net改变图片颜色如灰色的变成彩色
    • Asp.net简单实现给图片增加文字水印
    • ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)
    • Asp.Net上传图片同时生成高清晰缩略图
    • asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)
    • ASP.NET图片处理三类经典问题
    • asp.net fileupload控件上传图片并预览图片
    • ASP.NET图片上传实例(附源码)
    • ASP.NET实现上传图片并生成缩略图的方法
    • asp.net实现图片以二进制流输出的两种方法
    • ASP.NET中Image控件使用详解
    上一篇:.NET  Visual Studio 代码性能分析工具
    下一篇:ASP.NET仿新浪微博下拉加载更多数据瀑布流效果
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET中图片显示方法实例 ASP.NET,中,图片,显示,方法,