Asp.net 如何实现在图片上指定位置绘制矩形框等图形?就是在一页中打开的图片里的特定位置绘制小的方框,如何实现?给个方向.谢谢

解决方案 »

  1.   


    新建一个HttpHandler程序,BookCoverHandler.ashx(名字任取)
    <%@ WebHandler Language="C#" Class="BookCoverHandler" %>using System;
    using System.Web;
    using System.Drawing;
    using System.IO;
    public class BookCoverHandler : IHttpHandler {//实现接口    private const string COVERSADDR = "~/Images/BookCovers/";
        //图片的路径
        private const string WATERMARK = "~/Images/WaterMark.jpg";
        //要画上去的图片(水印图片)
        private const string DEFAULT = "~/Images/default.jpg";
        //找不到图片时用以替换的图片(默认是一个X)    public void ProcessRequest(HttpContext context)
        {
    //@@@@@处
            string isbn = context.Request.Params["ISBN"].ToString();
    //获得图片名称(除去后缀名),在页面绑定(见底部#####处)
            string path = context.Request.MapPath(COVERSADDR + isbn + ".jpg");
    //得到图片的物理路径
            System.Drawing.Image Cover;

            if (File.Exists(path))
            {
        //存在图片,执行画图操作
                Cover=Image.FromFile(path);//加载图片
                Image water = Image.FromFile(context.Request.MapPath(WATERMARK));
        //加载水印图片
                Graphics g = Graphics.FromImage(Cover);
    //实例化画布
                g.DrawImage(water,0,0,water.Width,water.Height);
    //绘制图片(方法的参数自己查)
                g.Dispose();
    //释放画布
            }
            else
            {
        //不存在图片,用准备好的图片替换
                Cover = Image.FromFile(context.Request.MapPath(DEFAULT));
            }
            context.Response.ContentType = "image/jpeg";
    //设置输出类型为jpeg图片
            Cover.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            //将修改图片存入输入流
            Cover.Dispose();
            context.Response.End();
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }}
    //#####处:
    //在页面代码处将你要在页面显示的图片路径修改为BookCoverHandler.ashx?ISBN=图片名(不带后缀)
    //注意:路径中的“ISBN”代表要传递的参数名,@@@@@处的ISBN,代表要获得的参数名,既两个要相同
      

  2.   

           Cover.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
            //将修改图片存入输入流 -----是输出流,不是输入流,写错
            Cover.Dispose(); 
      

  3.   

    Cover = Image.FromFile(path);//加载图片Image类没有FromFile这个方法啊
    怎样加载图片我的目的就是打开一张图片在上面一个框
      

  4.   

    怎样才能使用Image类 需要引用什么?