跪求c#实现图片裁剪框,并能拖动,调整大小。。

问题描述

各位大神,救救小弟。

解决方案

解决方案二:
Graphics画虚框,然后响应MouseMove事件
解决方案三:
直接去百度搜,有源码。
解决方案四:
我收了有画框的,没找到拖拽的啊谁能给找找急啊
解决方案五:
引用3楼feitianasdf的回复:

我收了有画框的,没找到拖拽的啊谁能给找找急啊

响应MouseMove事件,在里面变换框的Location。
解决方案六:
就这种可以拖拽的框?
解决方案七:
嗯,是的。大神能给个代码吗,
解决方案八:
实现图片上传在线裁剪示例//引入Jcrop插件所需的js文件及css样式<scripttype="text/javascript"src="js/jquery.pack.js"></script><scripttype="text/javascript"src="js/jquery.Jcrop.pack.js"></script><linkrel="stylesheet"href="css/jquery.Jcrop.css"type="text/css"/>//调入jacascript程序实施裁剪<scripttype="text/javascript">$(function(){$('#oImage').Jcrop({boxWidth:520,boxHeight:330,onChange:showCoords,onSelect:showCoords});});//当选择、改变选区时都执行showCoords函数functionshowCoords(c){$("#txtX").val(c.x);//得到选中区域左上角横坐标$("#txtY").val(c.y);//得到选中区域左上角纵坐标$("#txtW").val(c.w);//得到选中区域的宽度$("#txtH").val(c.h);//得到选中区域的高度}functioncheckCoords(){vardefaulturl=document.getElementById("oImage").src;defaulturl=defaulturl.substring(defaulturl.lastIndexOf("/")+1);if(defaulturl=="default1.jpg"){alert("请上传图片");returnfalse;}//codego.net/tags/11/1/else{if(parseInt($('#txtH').val())&&parseInt($('#txtW').val())){sendImg();returntrue;}else{alert("请设置裁剪区域");returnfalse;}}};functionsendImg(){varp=document.getElementById("oImage").src;varx=document.getElementById("txtX").value;vary=document.getElementById("txtY").value;varw=document.getElementById("txtW").value;varh=document.getElementById("txtH").value;varow=222;varoh=300;varrate=w/h;if(rate>1)//选区的宽大于高{document.getElementById("imgCreat").width=ow;document.getElementById("imgCreat").height=ow/rate;}elseif(rate<1)//选区的高大于宽{document.getElementById("imgCreat").width=oh*rate;document.getElementById("imgCreat").height=oh;}elseif(rate==1){document.getElementById("imgCreat").width=222;document.getElementById("imgCreat").height=222;}document.getElementById("imgCreat").src="Handler.ashx?p="+p+"&x="+x+"&y="+y+"&w="+w+"&h="+h+"&"+Math.random();}</script>//将裁剪图片保存到服务器上publicclassHandler:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){intx=Convert.ToInt32(context.Request["x"]);inty=Convert.ToInt32(context.Request["y"]);intdropWidth=Convert.ToInt32(context.Request["w"]);intdropHeight=Convert.ToInt32(context.Request["h"]);stringoPath=Convert.ToString(context.Request["p"]);oPath=HttpContext.Current.Server.MapPath("UpLoad")+"//"+System.IO.Path.GetFileName(oPath);context.Response.ContentType="image/jpeg";cutImage(oPath,x,y,dropWidth,dropHeight).WriteTo(context.Response.OutputStream);}//下载图片文件privatevoidDownLoadFile(stringpath){if(!File.Exists(path)){ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('文件不存在');</script>");}else{Response.Clear();Response.Charset="utf-8";Response.Buffer=true;this.EnableViewState=false;Response.ContentEncoding=System.Text.Encoding.UTF8;stringstr=System.Web.HttpUtility.UrlEncode(Path.GetFileName(path),System.Text.Encoding.UTF8);Response.AppendHeader("Content-Disposition","attachment;filename="+str);Response.ContentType="application/unknow";Response.WriteFile(path);Response.Flush();Response.Close();Response.End();}}//上传图片protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){if(FileUpload1.HasFile){stringserverUpload=Server.MapPath("UpLoad");if(!Directory.Exists(serverUpload)){Directory.CreateDirectory(serverUpload);}stringImgPath=FileUpload1.PostedFile.FileName;//文件全路径stringimgType=FileUpload1.PostedFile.ContentType;//获取上传文件的类型intImgLength=FileUpload1.PostedFile.ContentLength;//获取上传文件的大小(单位字节)stringnewImageName="HCDY"+DateTime.Now.Year+DateTime.Now.Month+DateTime.Now.Day+DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second+DateTime.Now.Millisecond+Path.GetExtension(ImgPath);stringserverImgName=serverUpload+"\"+newImageName;if(imgType.Substring(0,5)=="image"){if(ImgLength<=1048576)//如果文件大小小于1M允许上传{FileUpload1.PostedFile.SaveAs(serverImgName);if(imgType.Substring(imgType.LastIndexOf("/")+1)=="gif"){System.Drawing.Imageimg=System.Drawing.Image.FromFile(serverImgName);FrameDimensionimgfrm=newFrameDimension(img.FrameDimensionsList[0]);intnframe=img.GetFrameCount(imgfrm);if(nframe>1){ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('只允许上传BMP|JPEG|PNG格式的图片,不允许上传动画');</script>");oImage.Src="";oImage.Width=0;oImage.Height=0;return;}}oImage.Height=330;oImage.Width=520;oImage.Src="UpLoad/"+newImageName;HyperLink1.NavigateUrl="UpLoad/"+newImageName;FileInfofi=newFileInfo(Server.MapPath("UpLoad/"+newImageName));HyperLink1.Text=newImageName+"[上传时间:"+fi.CreationTime+"]";}else{oImage.Src="";oImage.Width=0;oImage.Height=0;ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('上传图片不能超过1M');</script>");}}else{oImage.Src="";oImage.Width=0;oImage.Height=0;ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('图片格式不正确');</script>");}}else{oImage.Src="";oImage.Width=0;oImage.Height=0;ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('请选择需要上传的图片');</script>");}}//提示裁剪上传图片protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){if(Request.Cookies["url"].ToString().Length!=0){stringpath=Server.MapPath(Request.Cookies["url"].Value);DownLoadFile(path);}else{ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('请首先裁剪图片');</script>");}}
解决方案九:
有C#的吗?
解决方案十:
我以前写了一个本来想放上博客连接的不过很悲剧这两天那自己博客测试扫描工具vps被封了打不开不过代码貌似在某个程序里面有用到过所以就搞出来了代码一个400行左右不过这里贴不上来说文本太长所以我把代码放到了上面的图里面你把图标保存后最改成zip打开你就能看到一个文本文件哪里就是代码了你自己去看吧。。
解决方案十一:
引用9楼crystal_lz的回复:

我以前写了一个本来想放上博客连接的不过很悲剧这两天那自己博客测试扫描工具vps被封了打不开不过代码貌似在某个程序里面有用到过所以就搞出来了代码一个400行左右不过这里贴不上来说文本太长所以我把代码放到了上面的图里面你把图标保存后最改成zip打开你就能看到一个文本文件哪里就是代码了你自己去看吧。。

您好,能否方便把整个测试工程文件发个我,我学习c#不久,对这个类的使用不太了解,谢谢,我的邮件地址316455699@qq.com,再次谢谢
解决方案十二:
引用9楼crystal_lz的回复:

我以前写了一个本来想放上博客连接的不过很悲剧这两天那自己博客测试扫描工具vps被封了打不开不过代码貌似在某个程序里面有用到过所以就搞出来了代码一个400行左右不过这里贴不上来说文本太长所以我把代码放到了上面的图里面你把图标保存后最改成zip打开你就能看到一个文本文件哪里就是代码了你自己去看吧。。

兄弟来一份983909073@qq.com学习,谢谢
解决方案十三:
引用10楼xyz1950的回复:

您好,能否方便把整个测试工程文件发个我,我学习c#不久,对这个类的使用不太了解,谢谢,我的邮件地址316455699@qq.com,再次谢谢

早就不知道哪里去了--!。。。就连这控件的代码我都还得到处找一找更具上面截图的代码我猜应该是这样用的ctrl.Image=你要裁剪的图像if(ctrl.IsDrawed){Imageimg=ctrl.GetResultImage()//我记得函数名叫做这个来着}

引用11楼liqiexingxing的回复:

Quote: 引用9楼crystal_lz的回复:
我以前写了一个本来想放上博客连接的不过很悲剧这两天那自己博客测试扫描工具vps被封了打不开不过代码貌似在某个程序里面有用到过所以就搞出来了代码一个400行左右不过这里贴不上来说文本太长所以我把代码放到了上面的图里面你把图标保存后最改成zip打开你就能看到一个文本文件哪里就是代码了你自己去看吧。。

兄弟来一份983909073@qq.com学习,谢谢

解决方案十四:
谁会用楼主这个类呀

时间: 2025-01-30 22:38:28

跪求c#实现图片裁剪框,并能拖动,调整大小。。的相关文章

代码-跪求最新QQ空间登录框ID,头疼好几天了。

问题描述 跪求最新QQ空间登录框ID,头疼好几天了. 做了一个快速登陆163邮箱的软件,又想做一个通过提交表单快速登陆QQ空间的小软件.但是查看了QQ空间代码后发现对应的ID后又多了for=u for=p什么的,找不到真正的ID,求大神帮忙解决. 解决方案 http://bbs.csdn.net/topics/391022075

跪求:根据下拉框的年份 读取库中相符的记录

问题描述 跪求:根据下拉框的年份读取库中相符的记录两张表,一张city存最新改动后的,一张city1存某年改的某些内容,city和city1字段名相同,city1只多了一个date字段.现在通过网页中的下拉列表框选择年份,对应city1中的date,来读记录.例:city1中存06.04.99三个年份改动,下拉框中选08读>06的,选00读04-99的,选90读<99的.特别:city1中的年份会增加,也许今年加入08.求求求求怎么实现例:city1中存2006.2004.1999三个特别年份

跪求最新QQ空间登录框ID

问题描述 做了一个快速登陆163邮箱的软件,又想做一个通过提交表单快速登陆QQ空间的小软件.但是查看了QQ空间代码后发现对应的ID后又多了for=ufor=p什么的,找不到真正的ID,求大神帮忙解决. 解决方案 解决方案二:for=u这是说那个label对应的是以id为u的文本框那个登录框ID就是u呀就是userid吧p就是password解决方案三:pwdArea?解决方案四:不行啊!还是不行,谁能救救我啊!

跪求c#提取图片轮廓方法

问题描述 小弟是做广告的,像想写一个小程序来实现排灯和围边材料多少的计算的功能,可是不知道如何从一张图片中获取图形的轮廓一般情况下我们的文字或图形都是一种颜色背景是另外一种颜色,如何提取请高手大侠们指教兄弟一二!就像文泰那样,导图进去就能得到轮廓线! 解决方案 解决方案二:似乎有现成的实现所需功能的库可以用:解决方案三:vc例子:解决方案四:小弟只懂c#对C不熟悉,望哪位大哥能给个C#源码

Android自定义View实现照片裁剪框与照片裁剪功能_Android

本文所需要实现的就是这样一种有逼格的效果: 右上角加了个图片框,按下确定可以裁剪正方形区域里的图片并显示在右上角. 实现思路: 1:首先需要自定义一个ZoomImageView来显示我们需要的图片,这个View需要让图片能够以合适的位置展现在当前布局的图片展示区域内(合适的位置值的是:如果图片长度大于屏幕,则压缩图片长度至屏幕宽度,高度等比压缩并居中显示,如果图片高度大于屏幕,则压缩图片高度至屏幕高度,长度等比压缩并居中显示.): 2:然后需要实现这个拖动的框框,该框框实现的功能有四点:拖动.扩

求用html和java裁剪上传圆形裁剪框的头像

问题描述 求用html和java裁剪上传圆形裁剪框的头像 找了很久未找到圆形裁剪框的方法,求大神帮助刚入门的新人需要制作一个圆形裁剪框裁剪出的圆形头像,就像新浪微博的上传头像一样 解决方案 那不是裁剪成圆形图片,而是圆形遮罩 参见http://www.zhangxinxu.com/study/201112/radius-mask.html 解决方案二: 你裁成正方形的,用css定义一个圆边就好了,低版本IE8-不支持就显示正方形的. <style type=""text/css&

java代码 如何将图片转化成矩阵数组的形式! 跪求~~

问题描述 java代码 如何将图片转化成矩阵数组的形式! 跪求-- java代码 如何将图片转化成矩阵数组的形式! 跪求-- 像素数据和二进制数据都可以! java代码 如何提取函数图像的数据,最大值,最小值,变化趋势等等... 请教各位大神们!! 解决方案 http://stchou.iteye.com/blog/819191 参考这个代码,可以读取每个像素的颜色,之后你想怎么处理就怎么处理

初学者跪求android如何自定义剪切图片

问题描述 初学者跪求android如何自定义剪切图片 android 当拍照或者选择本地图片的时候 进行自定义的切图,系统自带的切图不适合项目,哪位大神知道该怎么弄...最好有demo 跪求.. 解决方案 power point,ps都行啊,不知道你说的是指哪方面 至于ps中那就更方便了,直接用钢笔工具,想怎么切都行

自定义-跪求 Android触控高手 帮忙决绝一个图片手势滑动越界的处理

问题描述 跪求 Android触控高手 帮忙决绝一个图片手势滑动越界的处理 我直接发源码给你,里面就是我写的几个自定义ImageView,移动和缩放都已经写好可,就是移动过程中的越界不会处理,求好人帮助一下! 解决方案 您好,问题解决了吗?没解决的话,把源码贴出来,我们可以共同探讨一下 解决方案二: 您好,问题解决了吗?没解决的话,把源码贴出来,我们可以共同探讨一下