Asp.Net使用ImgAreaSelect实现图片截取
来源:互联网 发布:java向构造方法里传参 编辑:程序博客网 时间:2024/06/06 11:40
- 在ImgAreaSelect官网下载文件
解压文件,将下图中选择的文件导入到项目中
导入后结果为创建使用页面 这里创建的aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="imgAreaselect.aspx.cs" Inherits="BookShop.Web.Test.imgAreaselect" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="../js/jquery-1.7.1.js"></script> <script src="../js/jquery.imgareaselect.js"></script> <script src="../js/jquery.imgareaselect.js"></script> <link href="../Css/imgareaselect-default.css" rel="stylesheet" /> <script type="text/javascript" > $(function () { //展示图片 showImage(); $("#btnCut").click(function () { //截取选中框中的图片 cutPhoto(); }); }) function showImage() { $('#selectbanner').imgAreaSelect({//在id为selectbanner的图片上显示选中框 selectionColor: 'blue',//设置选择颜色 x1: 0, y1: 0, x2: 100, y2: 100,//设置选中框的初始位置和大小 selectionOpacity: 0.2,//设置选中框的透明度 //minWidth,maxWidth,minHeight,maxHeight设置选中框的最小及最大大小 onSelectEnd: preview//设置选中框停止拖动后触发的事件 }); } //停止拖动及选择结束后调用的事件 获得选中框的位置和大小 function preview(img, selection) { $('#selectbanner').data('x', selection.x1); $('#selectbanner').data('y', selection.y1); $('#selectbanner').data('w', selection.width); $('#selectbanner').data('h', selection.height); } //进行图片截取并展示出来 function cutPhoto() { var pars = { "x": $('#selectbanner').data('x'),//选中框的位置 "y": $('#selectbanner').data('y'), "width": $('#selectbanner').data('w'),//选中框的大小 "height": $('#selectbanner').data('h'), "action": "cut",//动作判断条件 "imgSrc": $("#selectbanner").attr("src")//图片路径 }; //通过/ashx/upload.ashx 进行截图 $.post("/ashx/upload.ashx", pars, function (data) { //将截取后的图片进行展示 $("#showPhoto").attr("src", data); }); } </script> </head> <body> <form id="form1" runat="server"> <div> <img id="selectbanner" src="../Images/Test/59688723_p0.png" /> <input type="button" value="截取图片" id="btnCut" /> </div> <!-- 截图展示位置 /!--> <img id="showPhoto"/> </form> </body> </html>
4 . 编写截图功能的一般处理程序upload.ashx
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Web; namespace BookShop.Web.ashx { /// <summary> /// upload 的摘要说明 /// </summary> public class upload : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request["action"]; if (action == "upload") { ProcessFileUpload(context); } else if (action == "cut") { ProcessCutPhoto(context);//进行截图操作 } else { context.Response.Write("参数错误!!"); } } private void ProcessFileUpload(HttpContext context) { } private void ProcessCutPhoto(HttpContext context) { int x = Convert.ToInt32(context.Request["x"]);//获得选中框位置 int y = Convert.ToInt32(context.Request["y"]); int width = Convert.ToInt32(context.Request["width"]);//获得选中框大小 int height = Convert.ToInt32(context.Request["height"]); string imgSrc = context.Request["imgSrc"];//获得图像虚拟路径 using (Bitmap map = new Bitmap(width, height))//为截图绘制位图 { using (Graphics g = Graphics.FromImage(map)) {//创建画板 using (Image img = Image.FromFile(context.Request.MapPath(imgSrc))) {//获得图像的物理路径 g.DrawImage(img, new Rectangle(0, 0, width, height), new Rectangle(x, y, width, height), GraphicsUnit.Pixel);//img为制定的Image文件 new Rectangle(0, 0, width, height)在画板g上绘制范围 new Rectangle(x, y, width, height)为img上指定的绘制范围 string newfileName = Guid.NewGuid().ToString();//进行截图图片命名 string fullDir = "/ImageUpload/" + newfileName + ".jpg";//路径命名 map.Save(context.Request.MapPath(fullDir), System.Drawing.Imaging.ImageFormat.Jpeg);//进行截图图片保存 context.Response.Write(fullDir);//返回截图图片路径 } } } } public bool IsReusable { get { return false; } } } }
- 结果
阅读全文
0 0
- Asp.Net使用ImgAreaSelect实现图片截取
- imgareaselect + php实现图片裁剪
- 黑马程序员_SWFUpload上传组和imgareaselect组件实现图片截取功能
- imgAreaSelect做前台图片截取+java后台处理
- C#结合imgareaselect生成缩略图并截取图片
- imgareaselect+java实现图片裁剪保存
- jQuery插件imgAreaSelect图片裁剪使用详解
- 使用imgareaselect 辅助后台进行图片裁剪
- 视频文件截取图片,asp.net c#
- jquery imgareaselect 使用利用js与程序结合实现图片剪切
- “上传图片到服务器”之SWFUpload与imgAreaSelect的使用----实现切图效果
- SWFUpload.js方法图片的上传和imgAreaselect.js方法图片任意部位的截取
- 利用jquery的imgAreaSelect插件实现图片裁剪示例
- 利用jquery的imgAreaSelect插件实现图片裁剪示例
- 利用jquery的imgAreaSelect插件实现图片裁剪示例
- 利用jquery的imgAreaSelect插件实现图片裁剪示例
- imgareaselect jquery.imgareaselect.js 页面图片插件
- Java 使用imgAreaSelect插件进行图片上传切割
- Java初学者的建议!
- 特辑丨架构师进阶之路精品文章集萃
- fetch将返回值进行对应类型的转换
- PHP上传Excel文件导入数据到MySQL数据库示例
- Spring MVC启动时初始化的几个常用方法
- Asp.Net使用ImgAreaSelect实现图片截取
- fetch-body里数据为ReadableStream-解决办法
- viewpager和Tablayout的使用(简便方法)
- jvm的相关的文章(重要)
- Adobe Creative Cloud官方卸载工具
- 742. Closest Leaf in a Binary Tree的思路
- 【思路】挖掘密码找回漏洞常见的思路1
- databanding 替换 findviewbyid
- Java程序员的几条建议,你必须要看