#region 3.1.3 保存裁剪后的图片方法 +ContentResult TemplateCropImg()/// <summary>/// 保存裁剪后的图片方法/// </summary>/// <returns></returns>[HttpPost]public ContentResult TemplateCropImg(){string imageUrl = Request.Form["imgUrl"]; //要剪裁图片的地址int imageWidth = Convert.ToInt32(Request.Form["imgInitW"]); //原图宽度int imageHeight = Convert.ToInt32(Request.Form["imgInitH"]); //原图高度int imageW = Convert.ToInt32(Math.Round(Convert.ToDouble(Request.Form["imgW"]))); //缩放后宽度int imageH = Convert.ToInt32(Math.Round(Convert.ToDouble(Request.Form["imgH"]))); //缩放后高度int cropWidth = Convert.ToInt32(Request.Form["cropW"]); //剪裁宽度int cropHeight = Convert.ToInt32(Request.Form["cropH"]); //剪裁高度int x = Convert.ToInt32(Request.Form["imgX1"]); //剪裁时X坐标int y = Convert.ToInt32(Request.Form["imgY1"]); //剪裁时Y坐标string returnData = string.Empty;//原始图片using (Image image = Image.FromFile(Server.MapPath(imageUrl))){//将图片缩放Bitmap bitmap = new Bitmap(imageW, imageH);Graphics graph = Graphics.FromImage(bitmap);//设置画布的描绘质量graph.CompositingQuality = CompositingQuality.HighQuality;graph.SmoothingMode = SmoothingMode.HighQuality;graph.InterpolationMode = InterpolationMode.HighQualityBicubic;graph.DrawImage(image, new Rectangle(0, 0, imageW, imageH), new Rectangle(0, 0, imageWidth, imageHeight), GraphicsUnit.Pixel);MemoryStream memoryStream = new MemoryStream();bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);//缩放后的图片Image zoomImage = Image.FromStream(memoryStream);//将缩放后的图片进行裁剪bitmap = new Bitmap(cropWidth, cropHeight);graph = Graphics.FromImage(bitmap);//清空画布并以透明背景色填充graph.Clear(Color.Transparent);graph.DrawImage(zoomImage, 0, 0, new Rectangle(x, y, cropWidth, cropHeight), GraphicsUnit.Pixel);//得到裁剪后的图片string filePath = System.Configuration.ConfigurationManager.AppSettings["UploadDir"] + DateTime.Now.ToString("yyyyMMdd") + "/";if (!Directory.Exists(Server.MapPath(filePath))){Directory.CreateDirectory(Server.MapPath(filePath));}string fileName = filePath + DateTime.Now.Ticks + ".png";bitmap.Save(Server.MapPath(fileName), System.Drawing.Imaging.ImageFormat.Png);graph.Dispose();bitmap.Dispose();returnData = "{'status':'success','url':'" + fileName + "'}";}//删除之前上传的图片System.IO.File.Delete(Server.MapPath(imageUrl));return Content(returnData);}#endregion

  

转载于:https://www.cnblogs.com/BigeTouch/p/5127511.html

croppic 图片裁剪相关推荐

  1. Croppic – 免费开源的 jQuery 图片裁剪插件

    Croppic 这款开源的 jQuery 图片裁剪插件能够满足网站开发人员各种不同的使用需要.只需要简单的上传图片,就可以实现你想要的图像缩放和裁剪功能.因为使用了 HTML5 FormData  对 ...

  2. jquery 图片裁剪 java_[Java教程]5 款最新的 jQuery 图片裁剪插件

    [Java教程]5 款最新的 jQuery 图片裁剪插件 0 2015-05-18 16:00:20 这篇文章主要介绍最新的 5 款 jQuery 图片裁剪插件,可以帮助你轻松的实现你网站需要的图像裁 ...

  3. ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)

    插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...

  4. android 壁纸 裁剪,Android图片裁剪之自由裁剪

    客户的需求都是非常怪的.我有时候在给客户做项目的时候就想骂客户是sb.可是请你相信我,等你有需求,自己变成客户的时候,给你做项目的哥哥肯定也会骂你是sb. 是这种,客户须要做一个图片上传的功能,这个图 ...

  5. PHP图片裁剪_图片缩放_PHP生成缩略图

    2019独角兽企业重金招聘Python工程师标准>>> 在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多, ...

  6. ios 将矩形图片裁剪成圆形图片

    在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...

  7. 模拟系统照相机图片裁剪的功能

    模拟系统照相机图片裁剪的功能 效果如下: 源码: // // RootViewController.m // ScrollView // // Copyright (c) 2014年 Y.X. All ...

  8. PHP实现将任意尺寸的图片裁剪后等比缩放到任意尺寸的透明图片上,并实现图片翻转...

    类库地址 github.com/jinqiubj/Pi- 此类库满足以下需求 将任意尺寸的图片等比缩放到任意尺寸的透明图片上,如图1是一张200*200的正方形图片. 在等比缩放的同时,此类库可根据图 ...

  9. Java实现图片裁剪预览功能

    Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload;imp ...

  10. 图片裁剪的js有哪些(整理)

    图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...

最新文章

  1. [Spring实战系列](5)Spring应用上下文
  2. Docker 容器技术 — 安装
  3. C#面向对象设计模式纵横谈
  4. 下排牙齿中间高两边低_不知道如何添加辅食?让宝宝牙齿数量来帮你忙(附食谱)...
  5. Content Provider之一大菊观
  6. Python—实训day12—汽车用户消费投诉案例-分析及可视化
  7. 数据库索引如何工作?原理
  8. php如何打印程序运行时间,php计算程序运行时间的简单实例 - microtime
  9. 用Appscan 作代理,录制APP页面的限制条件
  10. C++ std::enable_shared_from_this
  11. exception类型 java_程序员小白入门,Java如何选择异常类型?
  12. topcon gps 软件下载
  13. word 2016插入空白页页眉的办法
  14. self和parent的用法
  15. 清华邓俊辉教授 数据结构算法 课程内容
  16. 【阿里云-容器】阿里云容器服务Kubernetes版快速入门
  17. Minotaur为Mesos,Kafka和Hadoop开发开源云
  18. 详细软件著作权的申请
  19. 动态规划——状态压缩dp
  20. 安卓Accessibility(Talkback无障碍读屏器)适配笔记

热门文章

  1. 操作系统——基本概念·
  2. Java I/O 进化之路、传统 BIO 编程
  3. JavaScript 页面刷新方式汇总
  4. Spring boot 拦截器(HandlerInterceptor) 与 自定义资源映射虚拟路径,WebMvcConfigurer
  5. GitHub 使用入门,创建仓库、添加分支...
  6. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_6_练习_序列化集合...
  7. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_4_Object类中wait带参方法和notifyAll方法...
  8. 20181030函数2
  9. 黑马安卓74期Android基础(0)
  10. BZOJ4025 : 二分图