• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#图片缩放图片剪切功能实现(等比缩放)

c#图片缩放图片剪切功能实现(等比缩放)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#记事本查找功能,c#打印功能,c#实现购物车功能,c#功能,c#查询功能等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

所谓c#图片处理高级应,多数是基于.net framework类库完成

namespace wujian.common
{
    /// <summary>
    /// 图片处理类
    /// </summary>
    public class ptimage
    {
        #region 正方型裁剪并缩放
        /// <summary>
        /// 正方型裁剪
        /// 以图片中心为轴心,截取正方型,然后等比缩放
        /// 用于头像处理
        /// </summary>
        /// <param name="postedfile">原图httppostedfile对象</param>
        /// <param name="filesaveurl">缩略图存放地址</param>
        /// <param name="side">指定的边长(正方型)</param>
        /// <param name="quality">质量(范围0-100)</param>
        public static void cutforsquare(system.web.httppostedfile postedfile, string filesaveurl, int side, int quality)
        {
            //创建目录
            string dir = path.getdirectoryname(filesaveurl);
            if (!directory.exists(dir))
                directory.createdirectory(dir);

            //原始图片(获取原始图片创建对象,并使用流中嵌入的颜色管理信息)
            system.drawing.image initimage = system.drawing.image.fromstream(postedfile.inputstream, true);

            //原图宽高均小于模版,不作处理,直接保存
            if (initimage.width <= side && initimage.height <= side)
            {
                initimage.save(filesaveurl, system.drawing.imaging.imageformat.jpeg);
            }
            else
            {
                //原始图片的宽、高
                int initwidth = initimage.width;
                int initheight = initimage.height;

                //非正方型先裁剪为正方型
                if (initwidth != initheight)
                {
                    //截图对象
                    system.drawing.image pickedimage = null;
                    system.drawing.graphics pickedg = null;

                    //宽大于高的横图
                    if (initwidth > initheight)
                    {
                        //对象实例化
                        pickedimage = new system.drawing.bitmap(initheight, initheight);
                        pickedg = system.drawing.graphics.fromimage(pickedimage);
                        //设置质量
                        pickedg.interpolationmode = system.drawing.drawing2d.interpolationmode.highqualitybicubic;
                        pickedg.smoothingmode = system.drawing.drawing2d.smoothingmode.highquality;
                        //定位
                        rectangle fromr = new rectangle((initwidth - initheight) / 2, 0, initheight, initheight);
                        rectangle tor = new rectangle(0, 0, initheight, initheight);
                        //画图
                        pickedg.drawimage(initimage, tor, fromr, system.drawing.graphicsunit.pixel);
                        //重置宽
                        initwidth = initheight;
                    }
                    //高大于宽的竖图
                    else
                    {
                        //对象实例化
                      

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# 实现的图片盖章功能,支持拖拽、旋转、放缩、保存
  • c#图片缩放图片剪切功能实现(等比缩放)
  • C#仿密保卡功能的简单实现代码

相关文章

  • 2017-05-28C#的循环语句集锦及案例详解
  • 2017-05-28C#留言时间格式化
  • 2017-05-28C#警惕匿名方法造成的变量共享实例分析
  • 2017-05-28为IObservable实现自己的运算符(详解)
  • 2017-05-28C#动态执行批处理命令的方法
  • 2017-05-28C#中参数个数可变的方法实例分析
  • 2017-05-28winform 实现控制输入法
  • 2017-05-28C#实现的三种模拟自动登录和提交POST信息的方法
  • 2017-05-28C#实现的简单链表类实例
  • 2017-05-28C#动态创建Access数据库及密码的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#操作注册表的方法详解
    • C#中简单的拆箱操作用法实例分析
    • C#如何将DataTable导出到Excel解决方案
    • C#实现redis读写的方法
    • C#.NET实现网页自动登录的方法
    • 深入C#中get与set的详解
    • C#判断页面中的多个文本框输入值是否有重复的实现方法
    • c#调用api控制windows关机示例(可以重启/注销)
    • C#下载网页并在控制台输出的方法
    • C#画笔Pen绘制自定义线的帽子

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有