交友类网站裁剪照片源码

news/2024/4/28 3:09:17/文章来源:https://blog.csdn.net/cjssimei527/article/details/5795525

客户端js不能操作文件,所以只能先上传图片再在服务器端剪切。

1、上传图片

2、js剪切图片(其实只是选取要剪切的部分)

3、服务器端剪切

     (1)在页面的cs文件中剪切。须放几个隐藏控件以便回传js选取的坐标。

其中剪切图片源码:

Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

public class Cut
{
    /// <summary>
    /// 裁剪图片
    /// </summary>
    /// <param name="sourceImg">原图片路径</param>
    /// <param name="desImg">裁剪图片路径</param>
    /// <param name="left">X</param>
    /// <param name="top">Y</param>
    /// <param name="width">宽</param>
    /// <param name="height">高</param>
    public static void CutImage(string sourceImg, string desImg, int left, int top, int width, int height)
    {
        System.Drawing.Image img = System.Drawing.Bitmap.FromFile(sourceImg);
        System.Drawing.Image imgToSave = new System.Drawing.Bitmap(width, height);
        System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(imgToSave);
        RectangleF sourceRect = new RectangleF(left, top, width, height);
        RectangleF destinationRect = new RectangleF(0, 0, width, height);

        g.DrawImage(img,
                    destinationRect,
                    sourceRect,
                    GraphicsUnit.Pixel
                    );
        g.Save();
        imgToSave.Save(desImg, System.Drawing.Imaging.ImageFormat.Jpeg);
        g.Dispose();
        imgToSave.Dispose();
        img.Dispose();
    }


}

     (2)在ashx中剪切,可回传文件流。用参数传递坐标。

Code

using System;
using System.Web;
using System.Drawing;
using System.IO;

public class ImgCropper_WebHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        string Pic = Convert.ToString(context.Request["p"]);
        int PointX = Convert.ToInt32(context.Request["x"]);
        int PointY = Convert.ToInt32(context.Request["y"]);
        int CutWidth = Convert.ToInt32(context.Request["w"]);
        int CutHeight = Convert.ToInt32(context.Request["h"]);
        int PicWidth = Convert.ToInt32(context.Request["pw"]);
        int PicHeight = Convert.ToInt32(context.Request["ph"]);

        context.Response.ContentType = "image/jpeg";
        ResetImg(context, System.Web.HttpContext.Current.Server.MapPath(Pic), PicWidth, PicHeight, PointX, PointY, CutWidth, CutHeight).WriteTo(context.Response.OutputStream);
    }

    public MemoryStream ResetImg(HttpContext context, string ImgFile, int PicWidth, int PicHeight, int PointX, int PointY, int CutWidth, int CutHeight)
    {
        Image imgPhoto = Image.FromFile(ImgFile);
        Bitmap bmPhoto = new Bitmap(CutWidth, CutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

        Graphics gbmPhoto = Graphics.FromImage(bmPhoto);
        gbmPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, CutWidth, CutHeight), PointX * imgPhoto.Width / PicWidth, PointY * imgPhoto.Height / PicHeight, CutWidth * imgPhoto.Width / PicWidth, CutHeight * imgPhoto.Height / PicHeight, GraphicsUnit.Pixel);

        //保存图片到服务器
        bmPhoto.Save(context.Server.MapPath("upload/") + Guid.NewGuid() + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

        //生成文件流回传
        MemoryStream ms2 = new MemoryStream();
        bmPhoto.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);

        imgPhoto.Dispose();
        gbmPhoto.Dispose();
        bmPhoto.Dispose();

        return ms2;
    }


    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/21aspnet/archive/2010/02/07/5295572.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_899922.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站压力测试

网站压力测试 互联网的普及&#xff0c;宽带的流行&#xff0c;使得越来越多的个人和单位都架设了自己的网站。而充当网站的服务器的大多是普通的PC或者低档服务器&#xff0c; 这样访问者人数一多或者遭受DDos攻击&#xff0c;很容易造成瘫痪。因此我们需要网站在真正发布前对…

12306.cn网站的思考 (整理篇)

针对12306.cn网站应用架够的一些看法 背景 针对最近比较热点的列车网上订票系统频繁出现的系统问题&#xff0c;提出了一些自己的看法。 分析 几经分析考虑&#xff0c;认为可能存在几个系统瓶颈。 1.关联系统的系统负载能力比较弱。 2.网上支付的负载能力不够 3.网站本身…

很好用的壁纸网站源码分享,仅供学习,请勿商用。

分享一个壁纸网站源码&#xff0c;无需安装&#xff0c;修改之后就可很好使用。 集合360壁纸&#xff0c;百度壁纸&#xff0c;必应壁纸&#xff0c;简单好用。 演示地址&#xff1a;http://www.toqia.com/bizhi/ 好用的话&#xff0c;记得点赞哦。 百度网盘&#xff1a;链…

每天访问量至少达100万的29个社交网站

尽管Facebook目前是第一大社交网站&#xff0c;但是在社会化网络领域里面的其他网站同样也不可小觑。为了一窥各个知名社交站点的活跃状况&#xff0c;我们采用Google Trends对一些主流的社交站点进行了流量分析&#xff0c;并列出29个每天独立访问量达到100万的网站。虽然独立…

浏览量比较大的网站应该从哪几个方面入手

作者: 游戏人间 时间: 2007-6-15 04:23 PM 标题: 浏览量比较大的网站应该从哪几个方面入手&#xff1f;当然&#xff0c;提问前先将个人的一些理解分享。大家有的也请不吝共享&#xff0c;偶急切的需要这方面的经验....下面所提到的主要是针对一般的网站&#xff0c;不包…

高负载、高并发网站架构知识汇总-大型互联网网站架构

我们知道&#xff0c;对于一个大型网站来说&#xff0c;可伸缩性是非常重要的&#xff0c;怎么样在纵向和横向有良好的可伸缩性&#xff0c;就需要在做架构设计的时候考虑到一个分的原则&#xff0c;我想在多个方面说一下怎么分&#xff1a; 首先是横向的分&#xff1a;1. 大…

使用 PHP 搭建自己的视频点播网站,第 1 部分:基础工作

现在注册或者使用您的 IBM ID 和密码登录。 搭 建您自己的视频点播网站并不复杂。上传一些视频&#xff0c;然后供人们观看。就这么简单。但是如果您想要做很多视频&#xff0c;则必须将它们组织起来。这个 “使用 PHP 创建自己的视频点播网站” 教程系列包括三部分&#xff0…

Linux建立网站LAMP Aache

概念 firewalld 简介&#xff1a; 保护互联网对服务器的影响cat selinux简介&#xff1a; 保护服务器内部程序(ftp)对内部文件(/var/ftp)的访问 firewalld 临时关闭 : systemctl stop firewalld firewalld 状态查看方法&#xff1a;systtemctl status firewalld firewalld…

Linux 域名服务及阿里云搭建网站

概念理论 搭建阿里云服务器 DNS 解析

理论+实验:LAMP网站服务器部署(超详细版本)

目录 一、 LAMP介绍二、Apache 简介三、Apache 的主要特点四、搭建YUM仓库五、编译安装HTTP服务六、站点部署6.1 基于域名主机的6.2 基于IP地址的6.3 基于端口的 七、安装mysql八、安装PHP环境九、安装phpMyadmin 一、 LAMP介绍 LAMP 架构是目前成熟的企业网站应用模式之一&…

为SharePoint网站创建自定义导航菜单

相信不少人都希望把SharePoint网站内置的那个顶部导航菜单&#xff0c;换成自己希望的样式。由于SharePoint 2007/2010的网站导航基本上基于标准的ASP.NET SiteMap模型&#xff0c;所以只要你对ASP.NET SiteMap有一些了解&#xff0c;就能创建一个自定义的导航菜单。 在开始之…

Hexo+Github/Gitee搭建静态网站博客

前言 Hexo是一个快速&#xff0c;简单&#xff0c;功能强大的开源博客框架。 GitHub/Gitee Pages 是一个国内外静态资源网站。 两者结合可以搭建用户自己的静态网站。 搭建hexo 安装node.js 根据操作系统&#xff0c;在官网下载对应的安装包&#xff0c;地址为:node.js。 下…

响应式Web设计帮助移动终端访问网站

2012年被称为智能手机年。根据最近一份调查显示&#xff0c;美国的智能手机覆盖率已达50%。现在确实是提升移动终端用户体验的大好时机。如果你正运营一个网站&#xff0c;那就必须有一个响应式的Web设计&#xff0c;以便可以从移动终端上很好地访问你的网站。如果你还没意识到…

循序渐进BootstrapVue,开发公司门户网站(6)--- 门户网站后端内容管理

我们在做门户网站的时候&#xff0c;如果网站的内容可以动态从后端进行管理&#xff0c;那么调整网站内容就非常方便&#xff0c;有时候如一些公司新闻、产品信息、轮播广告信息等都需要动态调整的&#xff0c;有一个方便的后端内容管理是非常方便的。本篇随笔介绍门户网站的后…

python3.6爬虫案例:爬取某网站所有PPT(上)。

写在前面 这次实现之前的flag&#xff1a;爬取第一ppt网站的所有PPT&#xff0c;当然网站中有其他很多的学习资料&#xff0c;这次只爬取PPT。不仅可以平时做模板演示用&#xff0c;还可以练习爬虫&#xff0c;岂不美滋滋。闲话不多说&#xff0c;进入正题。 先来说下网站&am…

python3.6爬虫案例:爬取某网站所有PPT(下)。

上篇博客&#xff1a;python3.6爬虫案例&#xff1a;爬取某网站所有PPT&#xff08;上&#xff09;给大家介绍了爬取&#xff08;http://www.1ppt.com/&#xff09;网站中的ppt文件&#xff0c;爬下来的文件如下&#xff1a; 所以&#xff0c;我们就要考虑将其名称修改为其在网…

利用Python爬取妙笔阁小说网站的小说信息并保存为txt和csv格式

本次爬取的是妙笔阁小说网仙侠系列中所有小说的信息&#xff0c;打开网页会看到如下图所示的小说列表。 根据列表&#xff0c;选择爬取小说的书名、作者、最新更新、简介这四项信息。 在爬取之前&#xff0c;为了防止网站禁止爬取&#xff0c;需构造访问的请求头&#xff0…

仿360网站广告实现换肤特效

1、新建一个web项目&#xff0c;index.jsp同级目录下放jquery插件和top_right.png图片 2、index.jsp页面代码 <% page language"java" import"java.util.*" pageEncoding"utf-8"%> <% String path request.getContextPath(); String b…

仿360小说网站的源码设计实现

360首页检索小说效果如下&#xff1a; 个人完成编写的schoolnet校园网主页如下 在小说模块中&#xff0c;包括&#xff1a;小说类别编号&#xff1a;a、校园爱情 b、动漫同人 c、校园魔法 d、轻小说 e、校园励志 f、校园修真 g、名人传记 h、古典小说 …

基于仿360小说网站(校园网)的源码设计实现(升级版)

基于博文仿360小说网站的源码设计实现对小说网站的源码更新升级&#xff08;动漫小说网&#xff09;。 网站PC电脑端效果截图&#xff1a; APP手机端效果截图&#xff1a; 数据库相关表设计&#xff1a; 主要包含小说id,章节id,类型ID,小说名称,章节名称,作者,缩略图,图片地址…