ASP.net中DynamicImage控件的使用方法
来源:互联网 发布:下载手机短信软件下载 编辑:程序博客网 时间:2024/05/16 17:41
最初的需求是在页面中显示图片对象,例如期望在Image控件中显示一个Bitmap对象,而不是让Image控件指向一个Url。
网上有两种常见的解决方案:
1. 将Image控件的url指向一个文件路径,将生成的图片对象保存到文件中。
2. 将image的url指向一个页面,然后将生成的图片对象response到url那个页面。
对于第一种方法,需要将图片对象保存到服务器上,无疑不是一个好的解决方法;
对于第二种方法,总是只能在新的页面中显示图片,不能满足用户的需求。
下面介绍一下如何在当前页面中显示图片对象。
1. 到http://msdn.microsoft.com/zh-cn/site/cc163988下载CuttingEdge0404.exe文件到本地。
2. 执行exe后会进行解压缩
3. 到解压后的文件夹中找到DynamicImage.dll,放到工程的bin文件夹下,刷新工程文件列表
4. 修改web.config,在<httpHandlers>标签中增加:
<add verb="GET" path="cachedimageservice.axd" type="MsdnMag.CachedImageService,DynamicImage"/>,
注意,不要删除web.config中<httpHandlers>标签中已有的配置信息
<httpHandlers> <add verb="GET" path="cachedimageservice.axd" type="MsdnMag.CachedImageService,DynamicImage"/> </httpHandlers>
5. 在要显示图片的.aspx页面中,增加:
<%@ Register TagPrefix="cc1" Namespace="MsdnMag" Assembly="DynamicImage" %>
<cc1:dynamicimage ID="Image1" runat="server" Image='<%# GetRandomNumber() %>'/>
我这里采用了母版。
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="aaa.aspx.cs" Inherits="aaa" Title="aaa" %><%@ Register TagPrefix="cc1" Namespace="MsdnMag" Assembly="DynamicImage" %><asp:Content ID="Content1" ContentPlaceHolderID="Counts" Runat="Server"> <cc1:dynamicimage ID="Image1" runat="server" Image='<%# GetRandomNumber() %>'/></asp:Content>
6. 在后台.cs文件中增加:
Page.DataBind();OnInit()以及InitializeComponent()
其中GetRandomNumber方法是用来生成图片的,可以根据自己的需求采用相应的方法,同时也要修改.aspx中的dynamicimage控件的Image属性的值
using System;using System.ComponentModel;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.IO;/// <summary>/// Summary description for WebForm1./// </summary>public partial class aaa: System.Web.UI.Page{ protected void Page_Load(object sender, System.EventArgs e) { Page.DataBind(); } public System.Drawing.Image GetRandomNumber() { // Store the number Random gen = new Random(); int number = gen.Next(); // Generate the image Bitmap bmp = new Bitmap(200, 100); using (Graphics g = Graphics.FromImage(bmp)) { g.Clear(Color.LightCyan); using (Font f = new Font("Impact", 20)) { g.DrawString(number.ToString(), f, Brushes.Blue, 10, 10); } } return bmp; } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { } #endregion}
7. 运行一下自己的工程,看看是否成功了?如果有问题,可以给我留言,谢谢。
Key words:Image ASP.net C# Dynamic Bitmap Object Display
关键词:图片 动态显示 对象
[未经作者许可,不得转载]
- ASP.net中DynamicImage控件的使用方法
- ASP.NET中TreeView控件的使用方法
- ASP.NET中Popup控件的使用方法
- asp.net中验证控件的使用方法
- asp.net中验证控件的使用方法
- ASP.NET中广告控件AdRotator的使用方法
- ASP.NET中广告控件AdRotator的使用方法。
- asp.net中textbox控件的更新使用方法
- [转]asp.net中验证控件的使用方法
- asp.net Repeater控件的使用方法
- ASP.NET设计GridView控件的使用方法
- Asp.net中的Popup控件的使用方法
- ASP.NET证控件的使用方法
- ASP中FSO控件的使用方法
- asp.net 打印控件使用方法
- asp.net 打印控件使用方法
- ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。
- 简述ASP.NET 中Cookie的使用方法
- windows环境下Subversion(SVN)服务器和客户端安装备忘
- contentWindow属性是指指定的frame或者iframe所在的window对象
- Extjs4开发笔记(一)——准备工作
- android listview selector
- DataTable转换为二维数组
- ASP.net中DynamicImage控件的使用方法
- 小小耳朵就是有这多的好处
- SourceInsight in Ubuntu 10.04
- arcgis server10 错误 Server Object instance creation failed on machine
- poj 2352 Stars (线段树做法)
- HDU/HDOJ 3832 Earth Hour
- 简柏特学生员工的交流体会——昆山调研体会
- CGRect
- u盘修复